En enero de 2018 se publicaron en Twitter varios resultados sobre una propuesta de Republic of Math @republicofmath, uno de los cuales insertamos a continuación:
En este blog acudimos con frecuencia a la técnica de “dar vueltas” a una cuestión de la que tengamos noticia. En este caso concreto estudiaremos de forma algebraica y algorítmica la cuestión de qué números n cumplen que n(n+k) es un cuadrado para un número k dado. Por ejemplo, si k=16, existen dos números, 2 y 9, que producen un cuadrado mediante dicha expresión. En efecto:
2(2+16)=2*18=36=62; 9(9+16)=9*25=225=152
Para encontrar soluciones correspondientes a un valor de k acudiremos a búsqueda en hoja de cálculo y PARI para después abordar un estudio teórico. Es una metodología muy frecuente en este blog: comenzar con una búsqueda sin apoyo teórico y después ir buscando regularidades o fundamentaciones algebraicas.
Estudio con hoja de cálculo
Es fácil programar una función que nos indique si un número n produce un cuadrado en la expresión n(n+k) para un k dado. La que insertamos a continuación nos servirá para valores de k pequeños. En otros casos los errores de truncamiento de los cálculos nos pueden llevar a conclusiones falsas. Por eso es interesante acudir a un lenguaje de más exactitud como PARI y dar una vuelta de Álgebra a esta cuestión.
La función más simple que podemos proponer es esta:
Function escuadprod(n, k) As Boolean
‘Depende de dos variables y devuelve VERDADERO o FALSO
Dim a
a = n * (n + k) ‘Construimos el producto pedido
If a = Int(Sqr(a)) ^ 2 Then escuadprod = True Else escuadprod = False
‘Si a equivale al cuadrado de la parte entera de su raíz cuadrada, vale
End Function
Con ella y un bucle de búsqueda se pueden encontrar las soluciones para un valor de k dado. En la imagen figuran las correspondientes a k=21, que son 4, 7, 27 y 100.
Las comprobamos:
4(4+21)=4*25=100=102
7(7+21)=7*28=196=142
27(27+21)=27*48=1296=362
100(100+21)=100*121=12100=1102
¿Se podrán encontrar más? Lo veremos en el estudio algebraico.
Para mayor velocidad y exactitud trasladamos vuestra función a PARI (lo puedes realizar fácilmente con otro lenguaje). Este sería el listado para k=21.
escp(n,k)=issquare(n*(n+k))
k=21;for(i=1,10000,if(escp(i,k),print(i)))
Hemos acotado la búsqueda en 10000, pero para valores de k superiores deberíamos ampliar la búsqueda. Ya trataremos esto más adelante.
El resultado es:
Coinciden las soluciones 4, 7, 27 y 100.
Estudio algebraico
Llamemos m2 al cuadrado que debe producir el producto n(n+k).
En ese caso se cumplirá: n(n+k)=m2
Resolviendo la ecuación de segundo grado resultante:
El radicando ha de ser un cuadrado perfecto, llamémosle p2, lo que nos lleva a que
p2 - 4m2 = k2
(p+2m)(p-2m)=k2
Si encontramos dos valores enteros para p y m, sustituyendo en la resolución de la ecuación:
Bastará entonces descomponer k2 en dos factores, sean A y B, e igualar:
Resultará p+2m=A, p-2m=B, p=(A+B)/2, m=(A-B)/4
Deberemos buscar entonces A y B de forma que su diferencia sea múltiplo de 4 y distinto de cero, para evitar la solución cero.
Veamos el caso de 21. Su cuadrado 441 admite estas descomposiciones en productos:
441*1=147*3=63*7=49*9=21*21
Los cuatro primeros se diferencian en un múltiplo de 4, y nos queda:
441*1: m=(441-1)/4=110; p=(441+1)/2=221; n=(p-k)/2=(221-21)/2=100
147*3: m=(147-3)/4=36; p=(147+3)/2=75; n=(75-21)/2=27
63*7: m=(63-7)/4=14; p=(63+7)/2=35; n=(35-21)/2=7
49*9: m=(49-9)/4=10; p=(49+9)/2=29; n=(29-21)/2=4
Obtenemos las soluciones sabidas 100, 27, 7 y 4. Hemos desechado la solución cero, que se obtendría de 21*21.
Hemos deducido que el valor de p equivale a p=(A+B)/2, siendo A y B factores de k2, luego p<=k2/2, y, por tanto, el valor buscado n=(p-k)/2, tendrá como amplia cota k2/4:
Podíamos ajustar más, pero no es necesario. Por ejemplo, para el caso k=2018, PARI nos da la solución (por cierto, única) de n=508032, ya publicada en Twitter
Esta solución cumple 508032<20182/4=1018081
Por tanto, en PARI deberíamos buscar hasta esa cantidad:
escp(n,k)=issquare(n*(n+k))
k=2018;for(i=1,1018081,if(escp(i,k),print(i)))
Obtendríamos la misma solución única:
¿Por qué es única?
Seguimos el proceso algebraico:
20182=4072324=4072324*1=2036162*2=1018081*4=4036*1009=2018*2018
El único par válido es 2036162*2, luego p=(2036162+2)/2=1018082 y n=(1018082-2018)/2=508032
Es única la solución 508032
Terminamos esta entrada con una consideración:
Si n convierte n(n+k) en un cuadrado, es decir, es solución para un k dado, el número rn será solución para rk.
Es una propiedad muy importante, que se justifica en estas simples igualdades:
Si n(n+k)=m2, entonces rn(rn+rk)=(rm)2
En la siguiente entrada estudiaremos casos particulares y usaremos esta propiedad.
No hay comentarios:
Publicar un comentario