Algoritmo de Euclides extendido: mcd e identidad de Bézout paso a paso
Calcula el máximo común divisor de dos enteros con el algoritmo de Euclides, paso a paso: las divisiones sucesivas, la tabla del algoritmo extendido y los coeficientes de la identidad de Bézout, con la comprobación.
Ejemplo resuelto paso a paso
mcd(240, 46)
1Divisiones sucesivas
Dividimos entre ; después, el divisor entre el resto, y así hasta que el resto sea . Cada división cambia el par por otro con los mismos divisores comunes, porque . Hacen falta 5 divisiones.
2El máximo común divisor
Es el último resto distinto de .
3Algoritmo de Euclides extendido
Llevamos una tabla con los restos y dos columnas más, y , que cumplen siempre . Las dos primeras filas son evidentes ( y ). Cada fila nueva sale de las dos anteriores con el mismo cociente de la división: , y lo mismo con y con .
4Identidad de Bézout
La fila del último resto no nulo da los coeficientes: el mcd se escribe como combinación de los dos números. Lo comprobamos.
5Los coeficientes no son únicos
Para cualquier entero , la pareja de abajo también vale: el cambio en el primer coeficiente añade y el del segundo añade , así que se anulan. El algoritmo da la pareja de .
6De regalo, el mínimo común múltiplo
Como :
La idea
El máximo común divisor no cambia si al mayor de los dos números le restamos el menor, y por tanto tampoco si lo sustituimos por su resto al dividir:
Se repite hasta que el resto sea : el último resto distinto de cero es el . Aparece ya en los Elementos de Euclides.
La tabla extendida
Se escribe una tabla con columnas , empezando por (, ) y (, ). En cada fila es el cociente de entre y
Siempre se cumple . Al llegar a , la fila anterior da el y los coeficientes de la identidad de Bézout.
Un ejemplo completo
Calculemos :
El último resto no nulo es , así que y
Comprobación: .
Errores típicos
- Parar un paso tarde o pronto: el es el último resto distinto de cero, no el final.
- Equivocarse con el signo de y al restar : conviene comprobar siempre .
- Pensar que y son únicos: hay infinitas parejas; la tabla da una de ellas.
- Intercambiar y sin cambiar y de sitio.
Dónde se usa
Es la pieza de base de la aritmética modular: de ella salen los inversos modulares (y con ellos la clave privada de RSA), las congruencias lineales y el teorema chino del resto.
Preguntas frecuentes
¿Para qué sirve el algoritmo de Euclides?
Para calcular el máximo común divisor de dos números sin factorizarlos, solo con divisiones. Funciona con números enormes: es el método que usan los programas de criptografía cuando necesitan un mcd.
¿Qué dice la identidad de Bézout?
Que el mcd(a, b) siempre se puede escribir como una combinación entera de a y b: mcd(a, b) = s·a + t·b con s y t enteros. El algoritmo extendido calcula esos s y t al mismo tiempo que el mcd.
¿Son únicos los coeficientes s y t?
No. Si (s, t) sirve, también sirve (s + k·b/d, t − k·a/d) para cualquier entero k, donde d es el mcd. El algoritmo devuelve una pareja concreta, con valores pequeños.
¿Qué pasa si uno de los números es negativo o cero?
El mcd no depende del signo: mcd(−84, 36) = mcd(84, 36) = 12. Y mcd(a, 0) = |a|. Solo mcd(0, 0) no está definido.
¿Cuántos pasos necesita?
Muy pocos: el número de divisiones crece como el número de cifras, no como el valor de los números. Con dos números de 100 cifras bastan, como mucho, unos cientos de pasos.