Álgebra Superior II: El algoritmo de Euclides

Por Leonardo Ignacio Martínez Sandoval

Introducción

En entradas anteriores estudiamos los conceptos de máximo común divisor y de mínimo común múltiplo. Ahora nos enfocaremos en un aspecto un poco más práctico sobre el máximo común divisor que dejamos pendiente: ¿cómo lo calculamos? Para ello hablaremos de un procedimiento conocido como el algoritmo de Euclides, el cual afirma que afirma que podemos aplicar iteradas veces el algoritmo de la división en ciertos números específicos, comenzando con dos enteros a y b para encontrar su máximo común divisor de dos enteros positivos a y b.

Lo primero que haremos es explicar el procedimiento mediante el cual podemos encontrar el máximo común divisor de dos números aplicando repetidamente el algoritmo de la división. En la siguiente sección daremos la demostración de por qué funciona este procedimiento. Hacia el final de la entrada también veremos que este mismo procedimiento nos permite también escribir al máximo común divisor de dos enteros a y b como combinación lineal de ellos, es decir, de la forma ra+sb con r y s números enteros.

El procedimiento del algoritmo de Euclides

Sean a,b cualesquiera enteros positivos, con ab y a>b. Por el algoritmo de la división, sabemos que siempre existen q,rZ tales que podemos escribir a=bq+r,con0r<b.

Luego, como b y r son enteros, también existen q1 y r1 tales que b=rq1+r1,con0r1<r.

Y como r y r1 son enteros, existen q2 y r2Z+ tales que r=r1q2+r2,con0r2<r1.

Se puede continuar así sucesivamente. Pero este procedimiento debe de terminar, pues tenemos b>r>r1>r2>0, de modo que debe existir una i tal que ri=0. De esta forma, en el penúltimo paso tendremos que existen qi1 y ri1 enteros tales que ri3=ri2qi1+ri1,con0ri1<ri2.

Y en el último paso tendríamos qiZ+ y ri=0 tales que
ri2=ri1qi+0,con0=ri<ri1.

Lo que nos dice el algoritmo de Euclides es que el último residuo no cero, en este caso ri1 es el máximo común divisor de a y b.

Este procedimiento es particularmente útil cuando a y b son números tan grandes, tanto que determinar el máximo común divisor de ellos no sea inmediato. Aunque se comience con números muy grandes, el algoritmo de Euclides encuentra el MCD de manera rápida.

Ejemplo del algoritmo de Euclides

A continuación veremos el algoritmo de Euclides en acción.

Problema. Encuentra el máximo común divisor de 3456 y 6524.

Solución. Observamos que 6524>3456. Así, 6524=34561+3068,03068<3456.
Aplicando nuevamente el algoritmo de la división, obtenemos
3456=30681+388,0388<3068.
Aplicando una vez más el algoritmo de la división, se tiene
3068=3887+352,0352<388.
Siguiendo este procedimiento,
388=3521+36,036<352.
352=369+28,028<36.
36=281+8,08<28.
28=83+4,04<8.
8=42+0.

Como el último residuo no cero es 4, entonces (6524,3456)=4.

Observación. Aunque el algoritmo de Euclides requiere que los números a y b sean positivos, cuando ocurre el caso de que uno de ellos o los dos fueran negativos, no hay un gran obstáculo. Basta sacar el valor absoluto de ambos números al inicio, ya que los divisores de un número negativo son los mismos que los de su valor absoluto.

Veamos un ejemplo que usa esta observación.

Ejemplo. Obtén el máximo común divisor de 100 y 45.

Solución. Como uno de los números es negativo, antes que nada sacamos valores absolutos: |100|=100 y |45|=45. Le aplicamos el algoritmo de Euclides a estos números:
100=452+10,010<45.
45=104+5,05<10.
10=52+0.

Notemos que el último residuo no cero es 5. Por lo tanto, (100,45)=5.

Demostración de la validez del algoritmo de Euclides

Ahora, veamos la demostración de que el algoritmo de Euclides funciona. El resultado clave para demostrarlo es la siguiente proposición.

Proposición. Sean a,bZ+, tales que a=bq+r. Entonces (a,b)=(b,r).

Demostración. Sean a,bZ+. Sea d=(a,b) el máximo común divisor de a y b, y sea f=(b,r) el máximo común divisor de b y r.

Tenemos que da. Además, db, por lo que dbq. Así, dabq=r. De este modo, d es un divisor común de b y de r, de modo que df.

Por otro lado, fb, de donde fbq. Además, fr. De este modo, fbq+r=a. Concluimos entonces que f es divisor común de a y b. Pero entonces fd.

Por propiedades de divisibilidad, tenemos entonces que |f|=|d|, pero como ambos son números no negativos concluimos entonces que f=d, como queríamos.

◻

Ya con este resultado demostrado, enunciemos formalmente el algoritmo de Euclides y demos su demostración.

Teorema. Empecemos tomando dos enteros positivos a y b, con ab. Usando el algoritmo de la división, definimos sucesivamente los números r0,r1,,ri y q0,q1,,qi de manera que se cumpla

b=aq0+r0a=r0q1+r1

con 0r0<a, y 0r1<r0 y para j=2,,i que se cumpla

rj2=rj1qj+rj,

con 0rj<rj1.

Como ba>r0>r1>r2>>ri, entonces podemos suponer que ri=0. Entonces (a,b)=ri1.

Demostración. Por la proposición anterior, tenemos que (a,b)=(b,r0). También por esa misma proposición, tenemos que (b,r0)=(r0,r1). Y, de hecho, aplicando repetidamente la proposición tenemos que:

(r0,r1)=(r1,r2)==(ri1,ri)=(ri1,0)=ri1.

La penúltima igualdad es porque ri=0 y la última porque (n,0)=n para cualquier entero positivo n.

◻

Máximo común divisor como combinación lineal entera

Una última consecuencia del algoritmo de Euclides es que nos ayuda a poner al máximo común divisor de dos números a y b como combinación lineal entera de ellos dos.

Una forma práctica de encontrar la combinación lineal correspondiente es mediante el siguiente procedimiento. Tomaremos como ejemplo el algoritmo de Euclides que ya habíamos hecho para encontrar (6524,3456).

6524=34561+3068,03068<3456.
3456=30681+388,0388<3068.
3068=3887+352,0352<388.
388=3521+36,036<352.
352=369+28,028<36.
36=281+8,08<28.
28=83+4,04<8.
8=42+0.

Lo que haremos es la siguiente tabla, en donde en la columna izquierda ponemos todos los residuos que vamos encontrando. Además, completaremos la primera fila con 1,0 y la segunda con 0,1.

652410
345601
3068
388
352
36
28
8
4
Ejemplo de cómo poner al MCD como combinación lineal entera.

Vamos a ir llenando la tabla con lo que ya sabemos del algoritmo de Euclides. Por el algoritmo de Euclides, sabemos que 3456 cabe 1 vez en 6524. Por esta razón, restamos 1 vez la segunda fila de la primera, para obtener 10=1 y 01=1. Estos son los números que van en la fila 3, columnas 2 y 3:

652410
345601
306811
388
352
36
28
8
4
Ejemplo de cómo poner al MCD como combinación lineal entera.

De nuevo, 3068 cabe una vez en 3456, así que de nuevo restamos una vez el tercer renglón del segundo. Nos queda 01=1 y 1(1)=2 para las nuevas entradas:

652410
345601
306811
38812
352
36
28
8
4
Ejemplo de cómo poner al MCD como combinación lineal entera.

Ahora cambia un poco, pues 388 ya sabemos que cabe 7 veces en 3068 (por lo que hicimos del algoritmo de Euclides). Así, para la nueva fila restamos siete veces la cuarta fila de la tercera, para obtener como nuevos números 17(1)=8 y 17(2)=15. La tabla queda así:

652410
345601
306811
38812
352815
36
28
8
4
Ejemplo de cómo poner al MCD como combinación lineal entera.

Siguiendo este procedimiento repetidamente, llegamos a la siguiente tabla:

652410
345601
306811
38812
352815
36917
2889168
898185
4383723
Ejemplo de cómo poner al MCD como combinación lineal entera.

Los últimos dos números que pusimos en la tabla nos dan la respuesta de cómo poner a 4 como combinación lineal entera de 6524 y de 3456:

4=38365247233456.

Verifica que en efecto las cuentas son correctas, y que esta expresión final es válida.

¿Cómo se demuestra que este procedimiento siempre funciona? Se puede mostrar inductivamente que, de hecho, para cada uno de los renglones con entradas a,b,c se cumple que a=6524b+3456c. Esto queda como uno de los problemas de tarea moral.

Más adelante…

Esta entrada termina nuestra exploración introductoria al mundo de la aritmética de los números enteros. Sin embargo, todavía hay otros lugares a los que nos llevará el algoritmo de la división. Hasta ahora hemos discutido mucho el caso de la divisibilidad, es decir, cuando el residuo de la división de un número entre otro es igual a cero. Pero también podemos encontrar estructuras matemáticas muy ricas si estudiamos al resto de los posibles residuos. A partir de la siguiente entrada hablaremos del anillo de enteros módulo n, lo cual nos ayudará a formalizar estas ideas.

Tarea moral

A continuación hay algunos ejercicios para que practiques los conceptos vistos en esta entrada. Te será de mucha utilidad intentarlos para entender más la teoría vista.

  1. Usa el algoritmo de Euclides para encontrar el máximo común divisor de las siguientes parejas de números, y para escribirlo como combinación lineal entera de ellos.
    1. 15 y 35
    2. 18 y 92
    3. 201 y 153
    4. 328 y 528
  2. ¿Cómo usarías el algoritmo de Euclides para encontrar el máximo común divisor de los números 91, 105 y 119? Es decir, debes encontrar el mayor entero d que divida a estos tres números de manera simultánea.
  3. Hay otra forma de encontrar el máximo común divisor de dos números si conocemos su factorización en números primos. Imagina que tenemos dos números n y m y que, conjuntamente, usan los números primos distintos p1,p2,,pk en su factorización en primos (quizás con exponente cero). Esto nos permite escribirlos como:
    m=p1α1p2α2pkαkn=p1β1p2β2pkβk .
    1. Demuestra que la máxima potencia de p1 que divide tanto a m como a n es p1min(α1,β1).
    2. Demuestra que el máximo común divisor de m y n es p1min(α1,β1)p2min(α2,β2)pkmin(αk,βk).
  4. Demuestra un resultado análogo al del inciso anterior para el mínimo común múltiplo y usa ambos resultados para dar otra demostración de que (m,n)[m,n]=mn.
  5. Verifica que, en efecto, el método explicado en la entrada ayuda a escribir al máximo común divisor de dos enteros como combinación lineal de ellos.

Entradas relacionadas

Agradecimientos

Trabajo realizado con el apoyo del Programa UNAM-DGAPA-PAPIME PE104522 «Hacia una modalidad a distancia de la Licenciatura en Matemáticas de la FC-UNAM – Etapa 2»

2 comentarios en “Álgebra Superior II: El algoritmo de Euclides

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.