Teorema chino del resto paso a paso: sistemas de congruencias
Resuelve sistemas de congruencias con el teorema chino del resto, paso a paso: la construcción con Mᵢ y sus inversos y, si los módulos no son primos entre sí, por sustitución, diciendo cuándo no hay solución.
Ejemplo resuelto paso a paso
El problema de Sunzi
1El sistema
Buscamos los enteros que cumplen las 3 congruencias a la vez. Primero despejamos en cada una que lo necesite; después las juntamos.
2Teorema chino del resto
Los módulos , y son primos entre sí dos a dos, así que hay una única solución módulo su producto . La construimos: para cada congruencia, y es el inverso de módulo . Así, el sumando vale módulo y módulo los demás.
3Los inversos
Reducimos cada módulo y buscamos su inverso (con Euclides extendido, o probando si los números son pequeños).
4La solución
Sumamos y reducimos módulo .
5Comprobación
Sustituimos en cada congruencia.
La idea
Un sistema de congruencias
con módulos primos entre sí dos a dos tiene una única solución módulo .
La construcción
Para cada se toma (el producto de los demás módulos) y su inverso , que existe porque y son primos entre sí. La solución es
Cada sumando vale módulo y módulo los demás, por eso la suma funciona.
Un ejemplo completo
Resolvamos
Aquí .
Por ejemplo, porque . Sumando:
Comprobación: .
Errores típicos
- Aplicar la fórmula con módulos que no son coprimos: el inverso puede no existir. Hay que comprobar los o resolver por sustitución.
- Calcular módulo en vez de módulo .
- Olvidar reducir el resultado módulo (aquí y son la misma solución).
- Cambiar de sitio los restos y los módulos .
Dónde se usa
Acelera el descifrado de RSA (se calcula módulo cada primo por separado) y permite repartir cálculos con números enormes. También sirve para problemas de calendarios y ciclos que se repiten con periodos distintos.
Preguntas frecuentes
¿Qué dice el teorema chino del resto?
Si los módulos m₁, …, mₖ son primos entre sí dos a dos, el sistema x ≡ r₁ (mod m₁), …, x ≡ rₖ (mod mₖ) tiene solución y es única módulo M = m₁·…·mₖ.
¿Y si los módulos no son primos entre sí?
Puede haber solución o no. Hay solución si y solo si cada pareja de congruencias es compatible: rᵢ ≡ rⱼ módulo mcd(mᵢ, mⱼ). Si la hay, es única módulo el mcm de los módulos. Se resuelve por sustitución.
¿De dónde viene el nombre?
De un problema de congruencias que aparece en el texto chino Sunzi Suanjing, de datación incierta (entre los siglos III y V). El enunciado general con módulos coprimos es posterior.
¿Para qué sirve en la práctica?
Para trabajar con números grandes por partes: se calcula módulo cada factor, que es más barato, y luego se recompone. RSA lo usa para descifrar más deprisa.
¿Cómo compruebo mi solución?
Dividiendo x entre cada módulo mᵢ: el resto tiene que ser rᵢ. Y la solución, reducida módulo M, debe estar entre 0 y M − 1.