Descargar

Congruencias

Enviado por Aladar Peter Santha


Partes: 1, 2

  1. Congruencias en el conjunto de los números naturales
  2. Congruencias en el conjunto de los números enteros
  3. Resolución de congruencias de primer grado
  4. Resolución de congruencias de grado superior
  5. Sistemas de congruencias de primar grado
  6. Sistemas de congruencias de grado superior
  7. Bibliografía

§1. Congruencias en el conjunto de los números naturales.

Definición 1: Si edu.rededu.redy edu.redse dice que edu.redson congruentes módulo m si en la división entera por m dan el mismo resto y en este caso, se escribe edu.red

Con otras palabras edu.redsi y solamente si,

edu.red

La relación de congruencia es evidentemente una relación de equivalencia (reflexiva, simétrica y transitiva) puesto que la relación de igualdad lo es:

Propiedad reflexiva: edu.red

Propiedad simétrica: edu.red

Propiedad transitiva: edu.red

A partir de la definición de la congruencia de los números naturales es fácil demostrar las siguientes propiedades:

Propiedad 1:

edu.red

En efecto,

edu.rededu.red

Así, edu.redtiene ser cierto puesto que edu.redimplicaría que edu.redes decir resultaría que edu.redPor tanto la diferencia edu.redexiste y edu.redimplica que edu.redes divisible por edu.redAl revés, si edu.redexiste y es divisible por m entonces edu.redy existe edu.redtal que edu.redEntonces de la división euclidea edu.red, donde edu.redresulta que edu.redEsto quiere decir edu.redes también el resto de la división euclidea de edu.redpor edu.redy así edu.red

Propiedad 2:

edu.red

En efecto, si edu.redentonces edu.reddivide la diferencia edu.redy así según la propiedad 1 edu.redSi edu.redentonces se puede considerar la congruencia equivalente: edu.redde donde resulta que edu.reddivide a edu.redPor tanto edu.red

Propiedad 3:

edu.red

edu.red

En efecto, si edu.redentonces de edu.redresulta que edu.redes múltiplo de edu.redes decir existe edu.redtal que edu.redDe aquí resulta que edu.redes decir edu.redes múltiplo de edu.redy según la propiedad 1, tendremos la primera implicación. Si edu.redtendremos también edu.redde donde resulta la segunda implicación.

Propiedad 4:

edu.red

En efecto, si edu.redentonces según la propiedad 1edu.reddivide a edu.redy así edu.redSi edu.redentonces según la propiedad 1 edu.reddivide la diferencia edu.redy así edu.red

Propiedad 5:

edu.red

En efecto, si edu.redsegún la propiedad1 edu.reddivide la diferencia edu.redy así edu.redPor tanto, edu.reddivide la diferencia edu.redy así, utilizando de nuevo la propiedad 1, resulta que edu.redSi edu.redhay que razonar de la misma manera a partir de la congruencia edu.red

Propiedad 6: Si edu.redes un divisor común de los números naturales edu.redy edu.redes un divisor de m, sean edu.redEntonces

edu.red

En efecto, se puede suponer que edu.redPuesto que edu.reddivide el número edu.red, resulta que edu.reddivide a edu.redAsí, según la propiedad1 edu.redAl revés, edu.redy edu.redy así, el número edu.redes un divisor de edu.redPor tanto edu.redserá un divisor de edu.red

Propiedad 7: edu.red

En efecto, se puede suponer que edu.redyedu.redLuego, edu.redes un divisor común de las diferencias edu.redy edu.redde de donde resulta que edu.reddivide a

edu.red

, y teniendo en cuenta que edu.redresulta que edu.red

Por inducción completa de aquí resulta que

edu.red

Propiedad 8: Si edu.redy edu.redentonces existe edu.redtal que

edu.red

En efecto, edu.redes un divisor de la diferencia edu.redy así existe edu.redtal que edu.redLa recíproca es evidente.

Propiedad 9: edu.red

En efecto, se puede suponer que edu.redEntonces, según la propiedad 8 edu.redy edu.redy así resulta que:

edu.red

, y así la propiedad queda demostrada.

Por inducción completa también en este caso resulta que

edu.red

Propiedad 10: edu.rededu.redentontes edu.reddonde edu.redes el mínimo común múltiplo de los números edu.red

En efecto, se puede suponer que edu.redy, según la propiedad 1, edu.redes un múltiplo común de los números edu.redEntonces, puesto que cualquier múltiplo común de ciertos números es múltiplo del mínimo común múltiplo de estos números, edu.redserá múltiplo de M, es decir edu.red

Observación 1: La relación de equivalencia edu.reddivide al conjunto N en clases de equivalencia, dos a dos disjuntas y cada clase contiene los números naturales que dan el mismo resto en la división por m. La clase a la que pertenece el número edu.redse notará con edu.redLos elementos de las clases se llaman representantes de la clase. Normalmente se trabaja con el representante menor. El conjunto de todas las clases de N respecto al módulo m se nota con edu.redy

edu.red

Luego, las propiedades siguientes son evidentes:

edu.red

edu.red

edu.redes divisible por m.

edu.red

edu.red

Por ejemplo: Si edu.redy edu.redentonces edu.red, edu.redy edu.red

Las operaciones en el conjunto de las clases se definen de la manera siguiente:

edu.rededu.red, edu.rededu.rededu.red

Estas operaciones no dependen de la elección de los representantes en las clases. En efecto, si

edu.rededu.redy edu.red, donde edu.red. Entonces

edu.red

edu.red

Obviamente, la conmutatividad y asociatividad de la suma y de la multiplicación de las clases se reduce a las mimas propiedades de la suma y de la multiplicación en N.

En edu.redla resta es siempre posible. En efecto, sean edu.red

En efecto, si edu.redentonces edu.red

Si edu.redentonces existe edu.redtal que edu.rede edu.red

Puesto que cualquiera que sea edu.rededu.redy edu.redes un elemento opuesto bilateral de edu.red, edu.redes un grupo conmutativo. Luego, teniendo en cuenta que la propiedad distributiva de la multiplicación de las clases respecto a la suma de las clases también se reduce a la distributividad de la multiplicación respecto a la suma en N, y que edu.redes un elemento neutro en la multiplicación de las clases, resulta que edu.redes un anillo asociativo, conmutativo y con elemento neutro, que puede tener divisores de cero (si por ejemplo edu.rededu.rededu.redpero edu.red). Si m es un número primo entonces edu.redno tiene divisores de cero y el elemento inverso de edu.reddebe existir puesto que los productos edu.redson no nulos y dos a dos diferentes. Si dos de ellos fueran iguales resultaría la existencia de los divisores de cero: de edu.rededu.rededu.redresultaría que edu.reddonde edu.redy edu.red). Así, alguno de los productos mencionados debe ser igual a edu.redSi edu.redy edu.redentonces edu.redPor tanto si m es un número primo, edu.redes un cuerpo.

Teorema 0:

edu.red

edu.red

En efecto:

edu.red

edu.red

edu.red

La segunda propiedad se demuestra de manera análoga.

Por definición, dos números naturales son primos entre sí (o son primos relativos) si su máximo común divisor es 1, es decir edu.red

Teorema 1: Los números edu.redson primos relativos, si y solamente sí, edu.redes un elemento inversible del anillo edu.red

En efecto si edu.redson primos relativos resulta que existen edu.redtal que edu.red

Entonces en edu.redtienen lugar las implicaciones siguientes:

edu.red

Por tanto edu.redes inversible en edu.redAl revés si edu.redes inversible en edu.redexiste edu.redtal que

edu.red

Así el único divisor común de edu.redes el número 1 y por consiguiente edu.redson primos relativos.

Teorema 2 (de Fermat): Si p es un número primo y edu.redentonces edu.red

En efecto, el teorema se cumple para edu.redSi edu.redy teniendo en cuenta que edu.redes un grupo, el elemento edu.redes de índice 1(ver [8]) y si edu.redes el elemento inverso de edu.redentonces

edu.red

Multiplicando ambas partes de la congruencia edu.redcon edu.redresulta que

edu.red

Por definición, si edu.redy edu.redes el indicador de Euler entonces edu.redy para edu.rededu.redes el número de aquellos números naturales edu.redno nulos y menores que edu.redpara los cuales edu.redson primos relativos.

Teorema 3 (de Euler): Si edu.redson números naturales y edu.redson primos relativos, entonces edu.red

En efecto, sean edu.redlos números naturales no nulos, menores que m y primos relativos conedu.redPuesto que edu.redson primos relativos,

edu.red

, tendremos

edu.red

, y así

edu.red

Según el teorema 1, edu.redson inversibles en edu.redy, como producto de elementos inversibles, edu.redlo es también. Entonces,

edu.red

, yedu.red

edu.red

Finalmente, edu.redy el teorema queda demostrado.

Observación 2: El Teorema de Fermat es consecuencia del teorema de Euler puesto que si edu.redes un número primo, entonces edu.red

Teorema 4 (de Wilson): p es un número primo si, y solamente si,

edu.red

Antes de demostrar el teorema hay que averiguar cuáles de las clases edu.redcoinciden con su clase inversa, es decir cuáles cumplen las igualdades

edu.red

Primero hay que observar que en edu.redno hay divisores de cero y por tanto

edu.red

edu.red

Luego, teniendo en cuenta que al multiplicar todos los elementos de un grupo finito multiplicativo, el producto será igual con el producto de aquellos elementos que coinciden con su inverso,

edu.red

Por tanto edu.red

Al revés, si el número p que cumple la condición edu.redno fuera primo, debería tener una descomposición edu.reddonde edu.redAl ser u un divisor de p, u tendría que ser un divisor común de edu.redy edu.redy así u debería dividir la diferencia edu.redlo que es imposible, al ser u mayor que 1. La contradicción obtenida demuestra que p tiene que ser un número primo.

§2. Congruencias en el conjunto de los números enteros.

Si edu.red, edu.redy edu.redse dice que a y b son congruentes módulo m, si m divide la diferencia edu.redy se escribe edu.redCon otras palabras,

edu.red

La relación de congruencia es evidentemente una relación de equivalencia (reflexiva, simétrica y transitiva):

Propiedad reflexiva: edu.redya que m divide la diferencia edu.red

Propiedad simétrica: edu.redpuesto que si m divide a la diferencia edu.reddividirá también la diferencia edu.red

Propiedad transitiva: edu.red

En efecto, si m divide a edu.redy edu.redentonces m dividirá a edu.red

A partir de la definición de la congruencia de los números enteros es fácil demostrar las siguientes propiedades:

edu.red

edu.red

En efecto, m divide a las diferencias edu.redPor tanto

edu.red

edu.red

En efecto, m divide la diferencia edu.redal ser m un divisor de edu.red

edu.red

Esta ultima propiedad es evidente puesto que u es divisor de m, m es divisor de edu.redy así u es divisor de edu.red

Si edu.redes el máximo común divisor de los números enteros edu.redy d es un divisor de m, edu.redentonces

edu.red

En efecto, edu.redy edu.reddivide a edu.redresulta que edu.redy así edu.redes decir edu.redPor tanto, edu.reddivide a edu.redAl revés de edu.redresulta que edu.redes un divisor de edu.redy así edu.redserá un divisor edu.red

La relación de equivalencia edu.reddivide al conjunto Z en clases de equivalencia, dos a dos disjuntas y cada clase contiene los números enteros tales que la diferencia de dos cualesquiera de ellos sea un múltiplo de m. La clase a la que pertenece el número edu.redse notará con edu.redLos elementos de las clases se llaman representantes de la clase. Normalmente se trabaja con el representante mayor o igual a cero. El conjunto de todas las clases de Z respecto al módulo m se nota con edu.redy

edu.red

Luego, las propiedades siguientes son evidentes:

edu.red

edu.red

Por ejemplo: Si edu.redy edu.redentonces edu.red, edu.redy edu.red

Las operaciones en el conjunto de las clases se definen de la manera siguiente:

edu.rededu.red, edu.red.

Estas operaciones no dependen de la elección de los representantes en las clases. En efecto, si

edu.rededu.red

Entonces,

edu.red

edu.red

Teorema 5:

edu.red

edu.red

En efecto: edu.red

edu.red

edu.red

Obviamente la conmutatividad y asociatividad de la suma y de la multiplicación de las clases se reduce a las mimas propiedades de la suma y la multiplicación en Z.

Puesto que cualquiera que sea edu.rededu.redy edu.redes un elemento opuesto bilateral de edu.red, edu.redes un grupo conmutativo. Luego, teniendo en cuenta que la propiedad distributiva de la multiplicación de las clases respecto a la suma de las clases también se reduce a la distributividad de la multiplicación respecto a la suma en Z, y que edu.redes un elemento neutro en la multiplicación de las clases, resulta que edu.redes un anillo asociativo, conmutativo y con elemento neutro, que puede tener divisores de cero (si por ejemplo edu.rededu.rededu.redpero edu.redSi edu.redes un número primo entonces edu.redno tiene divisores de cero y el elemento inverso de edu.reddebe existir puesto que los productos edu.redson no nulos y dos a dos diferentes (Si dos de ellos fueran iguales resultaría la existencia de los divisores de cero: de edu.rededu.rededu.redresultaría que edu.reddonde edu.redy edu.red). Así, alguno de los productos mencionados debe ser igual a edu.redSi edu.redy edu.redentonces edu.redPor tanto si m es un número primo, edu.redes un cuerpo.

Definición 2: Una congruencia de grado n tiene la forma

edu.red (1)

, donde edu.redes una función polinomio con coeficientes enteros, edu.redes un número natural mayor que 1 y edu.redno es un múltiplo de edu.red

Resolver la congruencia significa hallar todos los números enteros edu.redpara los cuales la congruencia es verdadera.

Una congruencia de primer grado tiene la forma:

edu.red (2)

, donde edu.redno es múltiplo de edu.red

§3. Resolución de congruencias de primer grado.

Teorema 6: Si el máximo común divisor de edu.reddivide a edu.redla congruencia (2) tiene solución. En efecto, la condición es necesaria puesto que si edu.redes una solución

edu.red (3)

Teniendo en cuenta que edu.redyedu.redde (3) resulta que

edu.red

, es decir d tiene que ser un divisor edu.redLa condición es también suficiente, puesto que si el máximo común divisor de edu.reddivide a edu.redentonces (según la propiedad 3)

edu.red

, donde edu.redson primos relativos. Entonces, según el teorema de Euler edu.reddonde edu.redAsí, edu.redserá una solución de la congruencia edu.redy por tanto, también de la congruencia edu.red

Si edu.redes una solución de la congruencia edu.redy edu.redes una solución cualquiera entonces la solución general de esta congruencia será:

edu.red (3)

En efecto,

edu.red

edu.red

En el caso edu.rededu.redy las soluciones obtenidas son todas las soluciones de la congruencia (2). Si edu.redteniendo en cuenta que las soluciones correspondientes que se obtienen para edu.redson incongruentes respecto al módulo edu.redla solución general de la congruencia (2) será la siguiente:

edu.red (4)

Ejemplo 1: Resolver la congruencia:

edu.red

Puesto 2 es el máximo común divisor de 4 y 6 y 2 no divide a 3, la congruencia no tiene solución. Se llegaría a la misma conclusión por el método directo, es decir averiguando que ninguno de los números 1,2,3,4,5 es solución de la congruencia.

Ejemplo 2: Resolver la congruencia:

edu.red

Puesto que 4 y 11 son primos relativos, la congruencia tiene solución. Calculando los productos edu.rededu.redy el resto de la división de cada producto en la división por 11 resulta que edu.redPor tanto, la solución de la congruencia es

edu.red

A continuación, el método anterior se llamará el método directo.

Observando que 11 es un número primo, la solución se podría obtener también utilizando el teorema de Fermat:

edu.red

edu.red

El teorema de Wilson sirve también para resolver la congruencia anterior. Teniendo en cuenta que según el teorema de Wilson

edu.red

, resultan las equivalencias siguientes:

edu.red

edu.red

Ejemplo 3: Resolver la congruencia edu.red

Utilizando el método directo, se observa queedu.redPor consiguiente, la solución de la congruencia es edu.redPuesto que 12 no es un número primo, el teorema de Fermat no es utilizable en este caso. Sin embargo el teorema de Euler es aplicable.

Teniendo en cuenta que edu.red( entre los números 1,2,3,4,5,6,7,8,9,10,11 hay cuatro números que son primos con 12), resulta que edu.redPor consiguiente,

edu.red

Ejemplo 4: Resolver la congruencia:

edu.red (5)

edu.red (6)

Por el método directo se obtiene que edu.redPor tanto la solución general de la congruencia (6) es edu.redLas soluciones 5 y 12 son incongruentes respecto al módulo 14 y así la solución general de la congruencia (5) se escribirá de la manera siguiente:

edu.red

Si los númerosedu.redno superan a edu.redlos cálculos anteriores se podrían efectuar con los códigos siguientes (que corresponden al método directo, al método de Euler ó al método de Simpson, respectivamente, y el usuario debe decidir qué método es posible y con qué método quiere trabajar):

Public Function MetodoDirecto(ByVal a As Long, ByVal b As Long, ByVal m As Long) As String

Dim s() As Long, ax As Long, bx As Long, i As Long, k As Long

Dim x As Long, mcd As Long, mx As Long, rc As String, rs As String

If m < 1 Then

MetodoDirecto = " El módulo tiene que ser un entero mayor que 1"

Exit Function

End If

rc = Chr$(13) + Chr$(10): mcd = MaxComDiv2(a, m)

x = b Mod mcd

If x = 0 Then

If mcd = 1 Then

ax = a: bx = b: mx = m

Else

ax = a / mcd: bx = b / mcd: mx = m / mcd

End If

ax = ax Mod mx

bx = bx Mod mx

For i = 1 To mx – 1

x = (ax * i – bx) Mod mx

If x = 0 Then k = i: Exit For

Next i

ReDim s(mcd)

s(1) = k

For i = 2 To mcd: s(i) = s(i – 1) + mx: Next i

For i = 1 To mcd

rs = rs + rc + "x(" + Str$(i) + ") = " + Str$(s(i)) + " + k*" + Str$(m)

Next i

Else

rs = "No hay soluciones"

End If

MetodoDirecto = rs

End Function

Public Function MetodoEuler(ByVal a As Long, ByVal b As Long, ByVal m As Long) As String

Dim s() As Long, ax As Long, bx As Long, cx As Long, rc As String

Dim x As Long, mcd As Long, mx As Long, em As Long, rs As String

If m < 1 Then

MetodoEuler = " El módulo tiene que ser un entero mayor que 1"

Exit Function

End If

rc = Chr$(13) + Chr$(10): mcd = MaxComDiv2(a, m)

x = b Mod mcd

If x = 0 Then

If mcd = 1 Then

ax = a: bx = b: mx = m

Else

ax = a / mcd: bx = b / mcd: mx = m / mcd

End If

ax = ax Mod mx

bx = bx Mod mx

For i = 2 To Sqr(m)

x = m Mod i

If x = 0 Then Exit For

Next i

If i > Sqr(m) Then em = m – 1 Else em = Euler(mx)

x = bx

For i = 1 To em – 1

x = x * ax

x = x Mod mx

Next i

ReDim s(mcd)

s(1) = x

For i = 2 To mcd: s(i) = s(i – 1) + mx: Next i

For i = 1 To mcd

rs = rs + rc + "x(" + Str$(i) + ") = " + Str$(s(i)) + " + k*" + Str$(m)

Next i

Else

rs = "No hay soluciones"

End If

MetodoEuler = rs

End Function

Public Function MetodoSimpson(ByVal a As Long, ByVal b As Long, ByVal m As Long) As String

Dim i As Integer, s() As Long, rc As String, rs As String

Dim x As Long, ax As Long, bx As Long

If m < 1 Then

MetodoSimpson = " El módulo tiene que ser un entero mayor que 1."

Exit Function

End If

ax = a: bx = b

rc = Chr$(13) + Chr$(10)

mcd = MaxComDiv2(ax, m)

x = bx Mod mcd

If x <> 0 Then

MetodoSimpson = "La congruencia no tiene soluciones."

Exit Function

End If

If ax < 0 Then ax = -ax: bx = -bx

For i = 2 To Sqr(m)

x = m Mod i

If x = 0 Then

MetodoSimpson = "El módulo no es primo, el método de Simpson no es utilizable"

Exit Function

End If

Next i

If m < ax Then

MetodoSimpson = "m es primo pero p < Abs(a), el método de Simpson no es aplicable"

Exit Function

End If

ax = ax Mod m

bx = bx Mod m

x = bx

For i = 2 To m – 1

If i <> Abs(ax) Then

x = i * x

x = x Mod m

End If

Next i

x = -x

rs = "x = " + Str$(x) + " + k*" + Str$(m)

MetodoSimpson = rs

End Function

Public Function MaxComDiv2(ByVal a As Long, ByVal b As Long) As Long

Dim ax As Long, bx As Long, x As Long, qx As Long, rx As Long

ax = Abs(a): bx = Abs(b)

If ax < bx Then

x = ax: ax = bx: bx = x

End If

Do

rx = ax Mod bx

If rx = 0 Then Exit Do

ax = bx: bx = rx

Loop

MaxComDiv2 = bx

End Function

Public Function Euler(ByVal m As Long) As Long

Dim i As Integer, j As Integer, mcd As Integer

For i = 1 To m – 1

mcd = MaxComDiv2(i, m)

If mcd = 1 Then j = j + 1

Next i

Euler = j

End Function

Ejemplo 5: Al resolver la congruenciaedu.redpor el método directo o de Euler, se obtienen las soluciones siguientes edu.reddonde

edu.red

edu.red

Ejemplo 6: Al resolver la congruencia edu.redpor el método de Simpson, se obtiene la solución: edu.red

Ejemplo 7: La congruencia edu.redno tiene soluciones puesto que el máximo común divisor de los números edu.redes 4 y 4 no divide el número edu.red

La Cuando los número enteros edu.redno tienen más de 8 dígitos (las variables son de tipo Long), estos programas funcionan bien y son más rápidos cuándo el módulo es menor.

Public Function CongruenciasD(ByVal a As String, ByVal b As String, ByVal m As String) As String

Dim s() As String, ax As String, bx As String, i As String, j As String, k As String

Dim mcd As String, mx As String, n As Integer, rt() As String, rs() As String

Dim x(2) As String, rr As String, dif As String, rc As String, res As String

rc = Chr$(13) + Chr$(10): n = 7

x(1) = a: x(2) = m: mcd = MaxComDiv(x(), n)

x(1) = b: x(2) = mcd: rt() = DivisionEuclidea(x(), n)

If rr(2) ="-0" then rr(2) = "0"

If rr(2) = "0" Then

If mcd = "1" Then

ax = a: bx = b: mx = m

Else

x(2) = mcd

x(1) = a: rt() = DivisionEuclidea(x(), n): ax = rt(1)

x(1) = b: rt() = DivisionEuclidea(x(), n): bx = rt(1)

x(1) = m: rt() = DivisionEuclidea(x(), n): mx = rt(1)

End If

If mx = "1" Then

If m = "1" Then

CongruenciasD = "¡El módulo tiedne que ser mayor que 1!"

Else

CongruenciasD = "Cualquier número natural es solución."

End If

Exit Function

End If

x(2) = mx

x(1) = ax: rt() = DivisionEuclidea(x(), n): ax = rt(2)

x(1) = bx: rt() = DivisionEuclidea(x(), n)

If rr(2) ="-0" then rr(2) = "0"

bx = rt(2)

i = "1"

Do

x(1) = ax: x(2) = i: x(1) = Multiplicar(x(), n)

x(2) = bx: dif = Restar(x(), n)

x(1) = dif: x(2) = mx: rt() = DivisionEuclidea(x(), n)

If rr(2) ="-0" then rr(2) = "0"

If rt(2) = "0" Then k = i: Exit Do

x(1) = i: x(2) = "1"

i = Sumar(x(), n)

Loop

ReDim s(mcd), rs(mcd)

s(1) = k: i = "1"

If mcd <> "1" Then

Do

x(1) = i: x(2) = "1": j = Sumar(x(), n)

x(1) = s(i): x(2) = mx: s(j) = Sumar(x(), n): i = j

Loop Until i = mcd

End If

i = "0": res = ""

Do

x(1) = i: x(2) = "1": j = Sumar(x(), n)

rs(j) = rs(j) + rc + "x(" + j + ") = " + s(j) + " + k*" + m

res = res + rs(j) + rc: i = j

Loop Until i = mcd

Else

res = "No hay soluciones"

End If

CongruenciasD = res

End Function

Public Function CongruenciasE(ByVal a As String, ByVal b As String, ByVal m As String) As String

Dim s() As String, ax As String, bx As String, cx As String, n As Integer, pr As String

Dim xx As String, mcd As String, mx As String, em As String, x(2) As String, rt() As String

Dim res As String, fi As Integer, fm As Integer, rs() As String, mcd2 As String, j As String

If m = "1" Then

CongruenciasE = "¡El módulo tiedne que ser mayor que 1!"

Exit Function

End If

n = 7: x(1) = a: x(2) = m

mcd = MaxComDiv(x(), n)

x(1) = b: x(2) = mcd

rt() = DivisionEuclidea(x(), n)

If rr(2) ="-0" then rr(2) = "0"

xx = rt(2)

If xx = "0" Then

If mcd = 1 Then

ax = a: bx = b: mx = m

Else

'ax = a / mcd: bx = b / mcd: mx = m / mcd

x(2) = mcd

x(1) = a: rt() = DivisionEuclidea(x(), n): ax = rt(1)

x(1) = b: rt() = DivisionEuclidea(x(), n): bx = rt(1)

x(1) = m: rt() = DivisionEuclidea(x(), n): mx = rt(1)

End If

If mx = "1" Then

CongruenciasE = "Cualquier número natural es solución."

Exit Function

End If

fm = Val(Right$(mx, 1)) ' última cifra de mx

If fm = 0 Mod 2 Then fm = 0

x(1) = ax: x(2) = mx

rt() = DivisionEuclidea(x(), n): ax = rt(2)

x(1) = bx: x(2) = mx:rt() = DivisionEuclidea(x(), n)

If rr(2) ="-0" then rr(2) = "0"

bx = rt(2)

'Establecer el valor de FunciónEuler(m)-1.

i = "1": pr = "0"

Do

x(1) = i: x(2) = "1": i = Sumar(x(), n)

If i = mx Then Exit Do

x(1) = i: x(2) = mx

fi = Val(Right$(i, 1))

If fi = 0 Mod 2 Then fi = 0

If fi <> 0 Or fm <> 0 Then

' cuando i y mx no son pares los dos.

mcd2 = MaxComDiv(x(), n)

If mcd2 = "1" Then

x(1) = pr: x(2) = "1": pr = Sumar(x(), n)

End If

End If

Loop

xx = bx: i = "0"

Do

If i = pr Then Exit Do

x(1) = i: x(2) = "1": i = Sumar(x(), n)

x(1) = xx: x(2) = ax: xx = Multiplicar(x(), n)

x(1) = xx: x(2) = mx: rt() = DivisionEuclidea(x(), n)

Partes: 1, 2
Página siguiente