# Teorema chino del resto (sistema de congruencias)

Resuelve el sistema x ≡ rᵢ (mod mᵢ) (2–20 ecuaciones) mediante el teorema chino del resto generalizado con fusión por pares: con módulos coprimos el módulo combinado es el producto; si no son coprimos pero el sistema es compatible, es el mínimo común múltiple; si es incompatible, se informa claramente de que no hay solución. Cada congruencia se verifica contra la solución final. Clásico: x ≡ 2 (mod 3), x ≡ 3 (mod 5), x ≡ 2 (mod 7) → x = 23 (mod 105).

> Página canónica: https://elysiatools.com/es/tools/chinese-remainder-theorem

- **Categoría:** Math & Numbers

- **Palabras clave:** teorema chino del resto, sistema de congruencias, congruencias simultáneas, aritmética modular, mcm, teoría de números

## Descripción general

Esta herramienta resuelve sistemas de congruencias lineales simultáneas x ≡ rᵢ (mod mᵢ) de 2 a 20 ecuaciones aplicando el teorema chino del resto generalizado mediante fusión por pares. Admite tanto módulos coprimos como no coprimos compatibles calculando el mínimo común múltiplo, detecta sistemas sin solución y comprueba cada ecuación frente al resultado final.

## Entradas

- **Restos r (uno por ecuación)** (text): Comma- or space-separated remainders, one per congruence; negative values are reduced mod m.
- **Módulos m (uno por ecuación)** (text): Comma- or space-separated moduli (each m ≥ 2), matching the remainders count.

## Cuándo usarlo

- Al resolver problemas clásicos de teoría de números y aritmética modular con múltiples congruencias simultáneas.
- Al trabajar con sistemas donde los módulos no son coprimos entre sí y se necesita verificar su compatibilidad mediante el mcm.
- Al comprobar y validar cálculos algebraicos paso a paso en algoritmos criptográficos o ejercicios académicos.

## Cómo funciona

- Introduce los restos rᵢ separados por comas o espacios (los valores negativos se reducen automáticamente módulo mᵢ).
- Introduce la misma cantidad de módulos mᵢ (enteros mayores o iguales a 2) en el orden correspondiente.
- El algoritmo fusiona las congruencias por pares resolviendo ecuaciones diofánticas lineales y determinando si el módulo conjunto es el producto directo o el mínimo común múltiplo.
- Se genera la solución única en el intervalo principal junto con el módulo combinado y la verificación de cada congruencia original.

## Casos de uso

- Resolución de ejercicios de matemáticas discretas y álgebra abstracta en entornos universitarios.
- Cálculo de periodicidades y alineación de ciclos temporales en problemas de planificación y sincronización.
- Implementación y comprobación de esquemas de partición de secretos o aceleración de cómputo modular en criptografía.

## Preguntas frecuentes

### ¿Qué ocurre si los módulos no son coprimos entre sí?

La herramienta utiliza el teorema chino generalizado: si la diferencia de restos es divisible por el mcd de los módulos, calcula la solución usando el mínimo común múltiplo (mcm); si no lo es, notifica que el sistema es incompatible.

### ¿Cuántas congruencias simultáneas admite la herramienta?

Permite resolver sistemas desde 2 hasta un máximo de 20 ecuaciones de congruencia.

### ¿Cómo se deben ingresar números negativos en los restos?

Puedes ingresar números negativos directamente; el sistema los reduce a su equivalente positivo canónico módulo mᵢ antes de calcular la solución.

### ¿Qué separadores se pueden utilizar para los datos de entrada?

Puedes separar los valores numéricos mediante comas, espacios o una combinación de ambos.

### ¿Cómo se verifica que la solución obtenida sea correcta?

La herramienta sustituye automáticamente la solución final x en cada una de las ecuaciones originales rᵢ (mod mᵢ) y muestra la confirmación explícita de cada resto.

## Herramientas relacionadas

- [Calculadora de la función de Carmichael λ(n)](https://elysiatools.com/es/tools/carmichael-function): Calcula la función de Carmichael λ(n) — el exponente del grupo multiplicativo (Z/nZ)*, es decir, el menor k con a^k ≡ 1 (mod n) para todo a coprimo con n. Se obtiene desde la factorización prima con λ(2)=1, λ(4)=2, λ(2^k)=2^(k−2) (k ≥ 3), λ(p^k)=φ(p^k) en potencias impares y lcm entre componentes, junto con φ(n), la existencia de raíz primitiva y el criterio de Korselt para detectar números de Carmichael. Clásicos: λ(561) = 80 (561 es el menor número de Carmichael) y λ(8) = 2 < φ(8) = 4.
- [Generador de permutaciones / combinaciones / subconjuntos (con repeticiones)](https://elysiatools.com/es/tools/combinatorial-generation): Genera permutaciones, combinaciones y subconjuntos de un multiconjunto, deduplicando y ordenando lexicográficamente: las permutaciones usan next_permutation con conteo exacto n!/Π(mᵢ!); las combinaciones generan las k-submultisecciones distintas, contadas como el coeficiente de x^k en Π(1+x+…+x^mᵢ) (C(n,k) si todos los elementos son distintos); los subconjuntos enumeran cada submultisección con conteo Π(mᵢ+1) (2ⁿ si todos distintos), incluido el vacío. Hasta 12 elementos, la muestra se limita a 200 entradas pero el conteo siempre es exacto; el modo combinaciones exige 1 ≤ k ≤ n. Clásicos: permutaciones de \[A, A, B\] → 3!/2! = 3 (AAB, ABA, BAA); subconjuntos de \[A, A, B\] → (2+1)(1+1) = 6.
- [Calculadora de la función φ de Euler](https://elysiatools.com/es/tools/euler-totient-function): Calcula la función φ de Euler — cuántos enteros en \[1, n\] son coprimos con n. Factoriza n por división de prueba y evalúa exactamente φ(n) = n · Π(1 − 1/p) (n ≤ 10¹²), con opción de listar los primeros 60 coprimos y el recordatorio del teorema de Euler a^φ(n) ≡ 1 (mod n). Clásicos: φ(36) = 12 (36 = 2² × 3²); si n es primo, φ(n) = n − 1, p. ej. φ(97) = 96.
- [Convertidor de Fracciones Decimales](https://elysiatools.com/es/tools/fraction-decimal-converter): Convierte entre fracciones y decimales con soporte para números mixtos, fracciones impropias y varios formatos decimales
- [Solucionador de juegos de suma cero (punto de silla / programación lineal)](https://elysiatools.com/es/tools/game-theory-zero-sum): Resuelve juegos de suma cero de 2–6 × 2–6 (la matriz de pagos es del jugador fila, el maximizador; el jugador columna paga): primero la prueba de punto de silla (si el máximín de los mínimos de fila iguala el mínimax de los máximos de columna hay equilibrio en estrategias puras y se listan las celdas de silla); si no, se desplaza la matriz para que todas las entradas sean ≥ 1 y se resuelve max Σz s.t. Bz ≤ 1 con un simplex de una fase (base de holguras, regla de Bland): el primal da la estrategia mixta q del columnista y los precios sombra duales son exactamente la solución y del jugador fila; el valor se desplaza de vuelta y se reportan x, q y v, verificando numéricamente ambas garantías (xᵀA ≥ v, Aq ≤ v) y la igualdad minimax. Clásico: piedra-papel… pares \[\[1,-1\],\[-1,1\]\] → valor 0 con mezclas 0.5/0.5.
- [Calculadora de transformada inversa de Laplace (fracciones parciales)](https://elysiatools.com/es/tools/inverse-laplace-calculator): Calcula la transformada inversa de Laplace de F(s) = N(s)/D(s) (fracción propia, denominador de grado ≤ 6): obtiene las raíces del denominador agrupadas por multiplicidad y pares conjugados, resuelve el sistema lineal de coeficientes para la descomposición en fracciones parciales y aplica las parejas estándar término a término (A/(s−r)→Ae^(rt), A/(s−r)^j→At^(j−1)e^(rt)/(j−1)!, (Bs+C)/((s−α)²+β²)→e^(αt)\[Bcos(βt)+…sin(βt)\]). Clásicos: 1/(s²+3s+2) → e^(−t)−e^(−2t); (3s+5)/(s²+4) → 3cos(2t)+2,5sin(2t).
- [Calculadora de transformada de Laplace (tabla de pares)](https://elysiatools.com/es/tools/laplace-transform-calculator): Obtiene por tabla la transformada de Laplace F(s) = ∫₀^∞ e^(−st)f(t)dt: 14 pares estándar (1, t, tⁿ, e^(at), tⁿe^(at), sin/cos(kt) y sus desplazamientos exponenciales, sinh/cosh, t·sin/t·cos, δ(t)), con sustitución de parámetros, región de convergencia (p. ej. s > a), nota de derivación y evaluación numérica opcional en un punto s (con verificación de convergencia). Ejemplo: L{e^t} = 1/(s−1), s>1, F(2) = 1.
- [Orden multiplicativo módulo n (orden del elemento)](https://elysiatools.com/es/tools/order-of-element-mod-n): Calcula el orden multiplicativo ord\_n(a) — el menor k ≥ 1 con a^k ≡ 1 (mod n) (exige gcd(a, n) = 1). El algoritmo parte de φ(n) y va retirando factores primos probando a^(ord/p); la salida incluye la tabla de potencias de a, la prueba de minimalidad (a^(k/p) ≢ 1 para cada primo p | k), el subgrupo cíclico generado , y señala si a es raíz primitiva (ord = φ(n)) o alcanza el orden máximo (ord = λ(n)). Clásicos: ord\_7(3) = 6 = φ(7), 3 es raíz primitiva mod 7; ord\_15(2) = 4 < φ(15) = 8.

## Ejemplos

- [Ejemplos de NATS Message System](https://elysiatools.com/es/samples/nats-samples): Ejemplos del sistema de mensajería NATS incluyendo pub/sub, request-reply, grupos de cola y JetStream para aplicaciones modernas cloud-native
- [Ejemplos de Procesamiento de Imágenes Web Python](https://elysiatools.com/es/samples/web-image-processing-python): Ejemplos de procesamiento de imágenes Web Python usando PIL/Pillow incluyendo lectura, guardado, redimensionamiento y conversión de formato
- [Ejemplos de Texto Mixto Chino-Inglés](https://elysiatools.com/es/samples/text-chinese-english-mixed-samples): Archivos de texto de muestra con contenido mixto chino-inglés para probar herramientas de espaciado automático
- [Muestras de Texto con Chino](https://elysiatools.com/es/samples/text-with-chinese-samples): Texto en varios idiomas que contiene caracteres chinos para probar la extracción de chino
