Entradas
Enteros de hasta 40 dígitos, con signo opcional.
Ejemplos
2
5520
−9
47
Enteros de hasta 40 dígitos, con signo opcional.
2
5520
−9
47
El algoritmo de Euclides calcula el máximo común divisor (MCD) de dos enteros mediante divisiones sucesivas. Se apoya en una única observación: todo divisor común de a y b divide también al resto de dividir a entre b. Como los restos decrecen estrictamente, el proceso siempre termina, y el último resto no nulo es el MCD.
Invariante del algoritmo
La versión extendida del algoritmo no solo obtiene el MCD: recorre las mismas divisiones llevando la cuenta de cómo se combina cada resto a partir de los enteros originales. El resultado son dos coeficientes enteros x e y que certifican el MCD como combinación lineal de a y b:
Identidad de Bézout
La presentación clásica de aula reconstruye esta identidad por sustitución hacia atrás: se despeja el MCD de la última división útil y se van reemplazando los restos anteriores uno a uno. La herramienta muestra ese desarrollo completo, junto con la tabla extendida (r, q, x, y) que ejecuta el mismo cálculo hacia adelante.
Una ecuación diofántica lineal busca soluciones enteras de ax + by = c. El criterio de solubilidad es directo: existe solución si y solo si mcd(a, b) divide a c. En ese caso, escalar la identidad de Bézout por c/g produce una solución particular, y todas las demás se obtienen desplazándose a lo largo de la recta:
Familia completa de soluciones
La congruencia ax ≡ b (mod n) es la misma ecuación diofántica disfrazada: ax − ny = b. Con g = mcd(a, n), hay solución si y solo si g divide a b; y cuando la hay, existen exactamente g clases de soluciones módulo n, espaciadas n/g entre sí. El caso g = 1 es el más importante: la solución es única y se obtiene multiplicando por el inverso modular a⁻¹, que es precisamente la solución de ax ≡ 1 (mod n) y sale gratis del propio algoritmo extendido.
Casos con cero
mcd(a, 0) = |a| y mcd(0, 0) = 0 (convención estándar); mcm(a, 0) = 0. El MCD se reporta siempre no negativo.
Soluciones canónicas
En la diofántica, la solución particular se normaliza a 0 ≤ x₀ < |b/g|; en la congruencia, a y b se reducen primero al rango [0, n). Así el resultado es único y reproducible.
Enumeración de clases
Una congruencia con g clases se enumera completa hasta g = 12; por encima se entrega la forma paramétrica x ≡ x₀ (mod n/g), que las describe todas.
El teorema de Lamé (1844) — considerado el primer análisis de complejidad de un algoritmo — demuestra que el peor caso de Euclides ocurre con números de Fibonacci consecutivos: la cantidad de divisiones nunca supera cinco veces la cantidad de dígitos decimales del menor operando.
Con el límite de 40 dígitos de esta herramienta, el desarrollo más largo posible ronda las 190 divisiones (por ejemplo, dos Fibonacci consecutivos de 40 dígitos), que la tabla muestra completas.