Al final del artículo se puede descargar un fichero que permite resolver ecuaciones modulares del tipo
ax≡b(mód n) . Para realizar las divisiones de números
enteros se hace uso del paquete xlop de LaTeX, lo que provoca que
existan algunas limitaciones en los valores permitidos de a y b (deben
ser números naturales).
El fichero está preparado para generar las soluciones en los diferentes
casos que se pueden presentar: no exista solución, tenga una sola
solución o tenga varias soluciones. A partir de los valores a,
b y n siempre se generan dos ejercicios de la forma:
ax≡1(modn)
ax≡b(modn)
Además, en todos ellos se añade un poco de teoría sobre qué se está
haciendo. Para algunos valores de entrada los cálculos realizados pueden ser redundantes.
Lo único que tendremos que adecuar en el fichero es:
# Datos a modificar del programa. Tienen que ser enteros positivos y sus valores
# están condicionados por lo permitido por el paquete xlop de LaTeX
a = 1323
b = 49
n = 85085
Con los datos anteriores de entrada, se obtiene de salida:
Identidad de Bezout Si a y n son números enteros no
nulos ambos entonces ∃u,v∈Z tales que
mcd(a,n)=a⋅u+n⋅v
Por tanto:
mcd(a,n)=1⇔∃u,v∈Z tales
que au+nv=1
Por otro lado, sabemos que
ax≡b(modn) tiene solución en
x⇔mcd(a,n)∣b
Si mcd(a,n)=1 la solución es única y además, si encontramos
u y v tales que au+nv=1 entonces u es
una solución particular de la ecuación
ax≡1(modn).
Si mcd(a,n)=d>1 y d∣b su solución es cualquier
x≡x0+dt⋅n(modn),t=0,1,…,d−1
donde x0 es una solución particular en la ecuación
equivalente a la primera a/d≡b/d(modn/d)
Dados dos números a y n queremos expresar a su máximo
común divisor como una combinación lineal de ellos
au+nv=mcd(a,b) .
Método de Blankinship
Para ello consideraremos el sistema compatible y determinado de ecuaciones
{1⋅x+0⋅y0⋅x+1⋅y=a=n
cuya única solución es x=a e y=n .
Además, usaremos el algoritmo de Euclides
⇒D=d⋅c+r⇒r=D−d⋅c
A partir de la expresión anterior en la que obtenemos el resto como una
combinación lineal del dividendo y el divisor, usaremos operaciones
elementales por fila para obtener sistemas equivalentes, en su forma
matricial, en los que los restos ri estén en la última columna.
Finalizamos el proceso cuando llegamos a una matriz con un cero en la
última columna.
{u⋅x+v⋅y−n⋅x+a⋅y=mcd(a,n)=0
En ese caso tendremos en la fila correspondiente el mcd y los
coeficientes u y v de la combinación lineal
Resuelve la ecuación modular:1323x≡1(mod85085)
Partimos del sistema {1⋅x+0⋅y0⋅x+1⋅y=1323=85085 que tiene como soluciones x=1323 e y=85085.
Su forma matricial es:
Paso 0
(1001132385085)
⇒ 85085 = 64 · 1323 + 413 ⇒
85085 - 64 · 1323 = 413 ⇒ Restamos a la segunda fila
64 veces la primera
Paso 1
(1−64011323413)
⇒ 1323 = 3 · 413 + 84 ⇒
1323 - 3 · 413 = 84 ⇒ Restamos a la primera fila 3
veces la segunda
Paso 2
(193−64−3184413)
⇒ 413 = 4 · 84 + 77 ⇒ 413 -
4 · 84 = 77 ⇒ Restamos a la segunda fila 4 veces la primera
Paso 3
(193−836−3138477)
⇒ 84 = 1 · 77 + 7 ⇒ 84 - 1
· 77 = 7 ⇒ Restamos a la primera fila 1 veces la segunda
Paso 4
(1029−836−1613777)
⇒ 77 = 11 · 7 + 0 ⇒ 77 - 11
· 7 = 0 ⇒ Restamos a la segunda fila 11 veces la primera
Paso 5
(1029−12155−1618970)
Obtenemos el sistema equivalente al primero de ecuaciones:
{(1029)⋅x+(−16)⋅y(−12155)⋅x+(189)⋅y=7=0
En consecuencia
(1029)⋅1323+(−16)⋅85085=7⇒{mcd(1323,85085)u=7=1029 No tiene solución ya que el mcd(a,n) no es 1
Resuelve la ecuación modular:1323x≡49(mod85085)
⇒49=7⋅7
En este caso, mcd(a,n) (por el apartado anterior) divide a b. La
ecuación anterior es equivalente a resolver
189x≡7(mod12155). Resolvamos primero la ecuación
189x≡1(mod12155)
Paso 0
(100118912155)
⇒ 12155 = 64 · 189 + 59 ⇒
12155 - 64 · 189 = 59 ⇒ Restamos a la segunda fila 64
veces la primera
Paso 1
(1−640118959)
⇒ 189 = 3 · 59 + 12 ⇒ 189 -
3 · 59 = 12 ⇒ Restamos a la primera fila 3 veces la segunda
Paso 2
(193−64−311259)
⇒ 59 = 4 · 12 + 11 ⇒ 59 - 4
· 12 = 11 ⇒ Restamos a la segunda fila 4 veces la primera
Paso 3
(193−836−3131211)
⇒ 12 = 1 · 11 + 1 ⇒ 12 - 1
· 11 = 1 ⇒ Restamos a la primera fila 1 veces la segunda
Paso 4
(1029−836−1613111)
⇒ 11 = 11 · 1 + 0 ⇒ 11 -
11 · 1 = 0 ⇒ Restamos a la segunda fila 11 veces la primera
Paso 5
(1029−12155−1618910)
Por tanto
mcd(189,12155)=1
u=1029
Si x0 es una solución de ax≡1(modn), entonces
x0⋅b es una solución de la ecuación
ax≡b(modn). A partir de lo anterior tenemos que: