Continúo con el tema de las ecuaciones diofánticas lineales. En este caso, amplío el contenido del artículo anterior y facilito un fichero que permite resolver ecuaciones diofánticas lineales con n variables. El fichero está preparado para generar las soluciones en los diferentes casos que se pueden presentar: no exista solución o tenga infinitas soluciones. El código LyX usado es mínimo y casi todo el que se ha usado está escrito directamente en LaTeX. De nuevo uso el paquete xlop de LaTeX para realizar las divisiones de números enteros.
El paquete xloppresenta algunas limitaciones, que no vuelvo a comentar. Para eso véase el artículo Resolución de ecuaciones diofánticas de la forma Ax+By=C.
El fichero permite que los coeficientes de las ecuaciones diofánticas se puedan introducir de forma manual o que se generen de forma aleatoria. También podemos determinar qué número de ejercicios deseamos resolver así como el número de incógnitas de nuestra ecuación.
En las soluciones que se obtienen se ajusta de forma automática el nombre de las incógnitas y de todos los parámetros necesarios para su resolución.
Lo único que tendremos que adecuar en el fichero se comenta en el fichero LyX que se puede descargar al final, consiste en:
# Listas de posibles ejercicios (coeficientes de las ecuaciones diofánticas) # para que luego las incorpore deben tener de nombre Ei, i:1..n E1 = [6,10,15,31] E2 = [6,8,14,22] E3 = [12,16,28,44] E4 = [92,-1,59,-23] E5 = [92,-1,59,-23,1] E6 = [8,4,2,-2,6] E7 = [18,45,-20,49,11] E8 = [4,4,6,8,3] E9 = [3,5,7] E10 = [4,4,8,6,11,2] # Podemos optar por obtener los coeficientes de las ecuaciones de forma: aleatoria o manual (de dos formas en ambos casos) # a -> aleatoria # a1 -> todos los ejercicios del mismo número de incógnitas definido por "nincg" # a2 -> número de incógnitas aleatorio con un valor máximo definido por "nincg" # m1 -> Se resuelven todos/algunos de los ejercicios propuestos anteriormente. # El número de ellos se define con el valor de 'maxejer' comentado después. # m2 -> Valor por defecto. Podemos definirla "a mano" a partir de los valores de ejercicios anteriores, por ejemplo con ListaEjer = [E1,E2,E4,E10] # Opción por la que optamos de las anteriores opcion = 'a2' # Rango en el que obtener los valores aleatorios (-rango, rango) rango = 100 # Número máximo de ejercicios. Tiene una doble función: # Si optamos por valores aleatorios es el número de ejercicios que se generarán. # Si optamos por valores introducidos a mano: # Es el número máximo de ejercicios que se resolverán, comenzando por los números Ei menores. # Si tenemos definidos 10 ejercicios y aquí ponemos 15, se resolverán los 10. # Si tenemos definidos 10 ejercicios y aquí ponemos 3, solo se resolverán los 3 primeros: E1, E2 y E3 maxejer = 20 # Número de incógnitas para el tipo aleatorio. El valor mínimo es 2 nincg = 5 # Si es True, al final aparece un smiley que indica si la solución es correcta o no: si está bien # se muestra una cara sonriente, en caso contrario una cara blanca que frunce el ceño comprobar = True #comprobar = False
Con los datos anteriores de entrada se han generado 20 ejercicios aleatorios con un número de incógnitas que oscila entre 2 y 5. En el pdf que se puede descargar al final del artículo se muestra el resultado.
En el html que sigue muestro solo uno de los 20 ejercicios anteriores, en concreto el número 8 del pdf final.
La ecuación diofántica tiene solución si y solo si es un divisor de . En ese caso la ecuación tiene infinitas soluciones. |
Problema
Resuelve la ecuación diofántica
Solución
Dividimos todos los coeficientes por 4 obteniendo la siguiente ecuación:
que divide a 16 . Tiene solución, comencemos
Paso 1
Como
Sea
Partimos de la ecuación
Consideremos el sistema que tiene como soluciones y Su forma matricial es:
Restamos a la segunda fila 16 veces la primera
Obtenemos el sistema de ecuaciones equivalente al primero:
Además hemos obtenido que .
La primera igualdad de ([eq:79]) la tenemos que multiplicar por
Multipliquemos la segunda igualdad de ([eq:79]) por
Sumamos ([eq:80]) a ([eq:81]) sacando factor común:
Por tanto
Paso 2
Como
Sea
Tenemos la ecuación
Partimos de la ecuación
Consideremos el sistema que tiene como soluciones y Su forma matricial es:
Sumamos a la segunda fila 7 veces la primera
Obtenemos el sistema de ecuaciones equivalente al primero:
Además hemos obtenido que .
La primera igualdad de ([eq:82]) la tenemos que multiplicar por
Multipliquemos la segunda igualdad de ([eq:82]) por
Sumamos ([eq:83]) a ([eq:84]) sacando factor común:
Por tanto
y como
sustituyendo y operando, obtenemos
Paso 3
Tenemos la ecuación
Partimos de la ecuación
Consideremos el sistema que tiene como soluciones y Su forma matricial es:
Restamos a la segunda fila 2 veces la primera
Sumamos a la primera fila 2 veces la segunda
Restamos a la segunda fila 1 veces la primera
Restamos a la primera fila 20 veces la segunda
Obtenemos el sistema de ecuaciones equivalente al primero:
Además hemos obtenido que .
La primera igualdad de ([eq:85]) la tenemos que multiplicar por
Multipliquemos la segunda igualdad de ([eq:85]) por
Sumamos ([eq:86]) a ([eq:87]) sacando factor común:
Por tanto
y como
sustituyendo y operando, obtenemos
Por último, tenemos que
Enlaces al fichero fuente y al pdf final de una posible compilación.