El algoritmo de Euclides

El máximo común divisor entre dos números enteros es el mayor número que divide a ambos.

Si se tiene el $$20$$ y el $$16$$, el máximo común divisor entre los dos es $$4$$, ya que:

Los divisores de $$20$$ son: $$1$$, $$2$$, $$4$$, $$5$$, $$10$$ y $$20$$

Los divisores de $$16$$ son: $$1$$, $$2$$, $$4$$ y $$16$$

Los números que dividen tanto a $$20$$ como a $$16$$ son: $$1, 2$$ y $$4$$, y claramente el mayor es $$4$$. Así pues, el máximo común divisor entre $$20$$ y $$16$$ es $$4$$, y se escribe $$mcd(20,16) = 4$$.

No obstante, calcular el máximo común divisor entre dos números puede resultar muy complicado para números muy grandes.

Para hacerlo, existe un método conocido por el nombre de algoritmo de Euclides, que, aunque al principio puede parecer un poco extraño, cuando se coge práctica resulta mucho más cómodo y sencillo que otros métodos.

Además, por si fuera poco, también sirve para resolver ecuaciones diofánticas.

El algoritmo de Euclides se basa en la definición de tres secuencias de números: la primera se llamará $$r_j$$, la segunda se llamará $$s_j$$ y la tercera $$t_j$$.

El algoritmo de Euclides consiste en realizar los siguientes pasos:

  • Se cogen dos números:$$a\geq 0$$, $$b>0$$. Se quiere calcular $$mcd(a,b)$$ (el máximo común divisor entre $$a$$ y $$b$$). Se podría tomar $$a= 10$$ y $$b = 5$$.

  • Se define:$$$\begin{array}{rclrcl} r_0 &=& a, &r_1&=&b \\ s_0 &=& 1, & s_1&=&0 \\ t_0&=&0 , &t_1&=&1\end{array}$$$ Por ejemplo con $$a = 10$$ y $$b = 5$$, se tendría: :$$$\begin{array}{rclrcl} r_0 &=&10, &r_1&=&5 \\ s_0 &=& 1, & s_1&=&0 \\ t_0&=&0 , &t_1&=&1\end{array}$$$

  • Para $$j\geq 2$$, hacemos la división entera de $$r_{j-a}$$ entre $$r_{j-1}$$. Al resultado le llamamos $$q_{j-1}$$ y al residuo $$r_j$$.

En el ejemplo anterior, si queremos calcular $$r_2$$ y $$q_1$$ (es decir, $$j=2$$) se tiene que hacer la división entera entre $$r_0=10$$ y $$r_1=5$$. Está claro que el resultado de la divisón es $$2$$ con residuo $$0$$, y por lo tanto escribimos $$q_1=2$$ y $$r_2=0$$.

  • Ahora, se define: $$$\begin{array} {rcl} s_j& = &s_{j-2}-s_{j-1}\cdot q_{j-1} \\ t_j & = & t_{j-2}-t_{j-1}\cdot q_{j-1}\end{array}$$$ En el ejemplo anterior se tendría: $$$\begin{array} {rcl} s_2& = & s_0-s_1\cdot q_1=1-0\cdot 1=1 \\ t_2 & = & t_0-t_1\cdot q_1=0-1\cdot 2=-2\end{array}$$$

  • Cuando haya un $$r_{n+1}=0$$, entonces se tiene que $$mcd(a,b)=r_n$$ (es decir, el del paso anterior!). Además, también se cumple que: $$mcd(a,b)=s_n\cdot a+t_n \cdot b$$ ($$s_n$$ y $$t_n$$ son también los del paso anterior).

Volviendo al ejemplo que se ha tratado en los pasos previos, se ha visto que para $$j = 2$$ ya se cumple que $$r_2=0$$. Por lo tanto, el máximo común divisor entre $$10$$ y $$5$$ es $$r_1$$ (el del paso anterior), es decir $$5$$.

Además la última igualdad nos dice que: $$$mcd(10,5)=s_1 \cdot 10 + t_1 \cdot 5= 0 \cdot 10 +1 \cdot 5=0$$$