Resolución de ecuaciones modulares usando el Método de Blankinship

Al final del artículo se puede descargar un fichero que permite resolver ecuaciones modulares del tipo ax\equivb(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 aa, bb y nn siempre se generan dos ejercicios de la forma:

  1. ax1(modn)ax\equiv1\,\pmod n
  2. axb(modn)ax\equiv b\,\pmod n

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 aa y nn son números enteros no nulos ambos entonces u,vZ\exists\,u,v\,\in\mathbb{Z} tales que mcd(a,n)=au+nvmcd(a,n)=a\cdot u+n\cdot v

Por tanto:

mcd(a,n)=1   u,vZmcd(a,n)=1\ \Leftrightarrow\ \exists\ u,v\in\mathbb{Z} tales que au+nv=1au+nv=1

Por otro lado, sabemos que

axb(modn)ax\equiv b\pmod n tiene solución en xx\Leftrightarrow mcd(a,n)bmcd(a,n)|b
  • Si mcd(a,n)=1mcd(a,n)=1 la solución es única y además, si encontramos uu y vv tales que au+nv=1au+nv=1 entonces uu es una solución particular de la ecuación ax1(modn)ax\equiv 1 \pmod{n}.
  • Si mcd(a,n)=d>1mcd(a,n)=d>1 y dbd|b su solución es cualquier xx0+tnd(modn),t=0,1,,d1x\equiv x_{0}+\dfrac{t\cdot n}{d}\pmod n,\,t=0,1,\ldots,d-1 donde x0x_{0} es una solución particular en la ecuación equivalente a la primera a/db/d(modn/d)a/d\equiv b/d\pmod{n/d}

Dados dos números aa y nn queremos expresar a su máximo común divisor como una combinación lineal de ellos au+nv=mcd(a,b)au+nv=mcd(a,b) .

Método de Blankinship

Para ello consideraremos el sistema compatible y determinado de ecuaciones

{1x+0y=a0x+1y=n\begin{cases} 1\cdot x+0\cdot y & =a\\ 0\cdot x+1\cdot y & =n \end{cases}

cuya única solución es x=ax=a e y=ny=n .

Además, usaremos el algoritmo de Euclides

image D=dc+rr=Ddc\Rightarrow D=d\cdot c+r\Rightarrow r=D-d\cdot 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 rir_{i} estén en la última columna.

Finalizamos el proceso cuando llegamos a una matriz con un cero en la última columna.

{ux+vy=mcd(a,n)nx+ay=0\begin{cases} u\cdot x+v\cdot y & =mcd(a,n)\\ -n\cdot x+a\cdot y & =0 \end{cases}

En ese caso tendremos en la fila correspondiente el mcdmcd y los coeficientes uu y vv de la combinación lineal

  • Resuelve la ecuación modular: 1323x1(mod85085)1323x\,\equiv\,1\,\pmod{85085}

Partimos del sistema {1x+0y=13230x+1y=85085\begin{cases} 1\cdot x+0\cdot y & =1323\\ 0\cdot x+1\cdot y & =85085 \end{cases} que tiene como soluciones x=1323x=1323 e y=85085.y=85085. Su forma matricial es:

Paso 0

(1013230185085)\left(\begin{matrix}1 & 0 & \textcolor{blue}{1323}\\ 0 & 1 & \textcolor{blue}{85085} \end{matrix}\right)

image1 \Rightarrow 85085 = 64 · 1323 + 413 \Rightarrow 85085 - 64 · 1323 = 413 \Rightarrow Restamos a la segunda fila 64 veces la primera

Paso 1

(101323641413)\left(\begin{matrix}1 & 0 & \textcolor{blue}{1323}\\ -64 & 1 & \textcolor{blue}{413} \end{matrix}\right)

image2 \Rightarrow 1323 = 3 · 413 + 84 \Rightarrow 1323 - 3 · 413 = 84 \Rightarrow Restamos a la primera fila 3 veces la segunda

Paso 2

(193384641413)\left(\begin{matrix}193 & -3 & \textcolor{blue}{84}\\ -64 & 1 & \textcolor{blue}{413} \end{matrix}\right)

image3 \Rightarrow 413 = 4 · 84 + 77 \Rightarrow 413 - 4 · 84 = 77 \Rightarrow Restamos a la segunda fila 4 veces la primera

Paso 3

(1933848361377)\left(\begin{matrix}193 & -3 & \textcolor{blue}{84}\\ -836 & 13 & \textcolor{blue}{77} \end{matrix}\right)

image4 \Rightarrow 84 = 1 · 77 + 7 \Rightarrow 84 - 1 · 77 = 7 \Rightarrow Restamos a la primera fila 1 veces la segunda

Paso 4

(10291678361377)\left(\begin{matrix}1029 & -16 & \textcolor{blue}{7}\\ -836 & 13 & \textcolor{blue}{77} \end{matrix}\right)

image5 \Rightarrow 77 = 11 · 7 + 0 \Rightarrow 77 - 11 · 7 = 0 \Rightarrow Restamos a la segunda fila 11 veces la primera

Paso 5

(1029167121551890)\left(\begin{matrix}1029 & -16 & \textcolor{blue}{7}\\ -12155 & 189 & \textcolor{blue}{0} \end{matrix}\right)

Obtenemos el sistema equivalente al primero de ecuaciones:

{(1029)x+(16)y=7(12155)x+(189)y=0\begin{cases} \left(1029\right)\cdot x+\left(-16\right)\cdot y & =7\\ \left(-12155\right)\cdot x+\left(189\right)\cdot y & =0 \end{cases}

En consecuencia

(1029)1323+(16)85085=7{mcd(1323,85085)=7u=1029\left({\color{red}1029}\right)\cdot1323+\left(-16\right)\cdot85085={\color{red}7}\,\,\Rightarrow\begin{cases} mcd(1323,85085) & =7\\ u & =1029 \end{cases} No tiene solución ya que el mcd(a,n) no es 1

  • Resuelve la ecuación modular: 1323x49(mod85085)1323x\,\equiv\,49\, \pmod{85085}

image6 \Rightarrow 49=7749=7\cdot7

En este caso, mcd(a,n) (por el apartado anterior) divide a b. La ecuación anterior es equivalente a resolver 189x7(mod12155)189x\,\equiv\,7\,\pmod{12155}. Resolvamos primero la ecuación 189x1(mod12155)189x\equiv1\pmod{12155}

Paso 0

(101890112155)\left(\begin{matrix}1 & 0 & \textcolor{blue}{189}\\ 0 & 1 & \textcolor{blue}{12155} \end{matrix}\right)

image7 \Rightarrow 12155 = 64 · 189 + 59 \Rightarrow 12155 - 64 · 189 = 59 \Rightarrow Restamos a la segunda fila 64 veces la primera

Paso 1

(1018964159)\left(\begin{matrix}1 & 0 & \textcolor{blue}{189}\\ -64 & 1 & \textcolor{blue}{59} \end{matrix}\right)

image8 \Rightarrow 189 = 3 · 59 + 12 \Rightarrow 189 - 3 · 59 = 12 \Rightarrow Restamos a la primera fila 3 veces la segunda

Paso 2

(19331264159)\left(\begin{matrix}193 & -3 & \textcolor{blue}{12}\\ -64 & 1 & \textcolor{blue}{59} \end{matrix}\right)

image9 \Rightarrow 59 = 4 · 12 + 11 \Rightarrow 59 - 4 · 12 = 11 \Rightarrow Restamos a la segunda fila 4 veces la primera

Paso 3

(1933128361311)\left(\begin{matrix}193 & -3 & \textcolor{blue}{12}\\ -836 & 13 & \textcolor{blue}{11} \end{matrix}\right)

image10 \Rightarrow 12 = 1 · 11 + 1 \Rightarrow 12 - 1 · 11 = 1 \Rightarrow Restamos a la primera fila 1 veces la segunda

Paso 4

(10291618361311)\left(\begin{matrix}1029 & -16 & \textcolor{blue}{1}\\ -836 & 13 & \textcolor{blue}{11} \end{matrix}\right)

image11 \Rightarrow 11 = 11 · 1 + 0 \Rightarrow 11 - 11 · 1 = 0 \Rightarrow Restamos a la segunda fila 11 veces la primera

Paso 5

(1029161121551890)\left(\begin{matrix}1029 & -16 & \textcolor{blue}{1}\\ -12155 & 189 & \textcolor{blue}{0} \end{matrix}\right)

Por tanto

mcd(189,12155)=1mcd(189,12155)=1

u=1029u=1029

Si x0x_{0} es una solución de ax1 (modn)ax\equiv1\ \pmod n, entonces x0bx_{0}\cdot b es una solución de la ecuación axb (modn)ax\equiv b\ \pmod n. A partir de lo anterior tenemos que:

10297(mod12155)7203(mod12155)7203(mod12155)x0=7203x7203,19358,31513,43668,55823,67978,80133(mod85085)1029\cdot7\pmod{12155}\equiv7203\pmod{12155}\equiv7203\pmod{12155}\Rightarrow x_{0}=7203\Rightarrow x\equiv7203,19358,31513,43668,55823,67978,80133\pmod{85085}

Enlaces al fichero fuente y al pdf final de una posible compilación.