Ampliamos en esta entrada el contenido de otra similar publicada en este blog en el año 2010:
https://hojaynumeros.blogspot.com/2010/10/1-7-17-23-31-41-47-49-71-73-79-89-97.html
Si tomamos un segmento de
longitud 31 cm. y lo doblamos por cierto punto en forma de ángulo recto,
podemos completar un triángulo rectángulo cuya hipotenusa tiene medida entera.
No es difícil averiguar por dónde se puede doblar: basta hacerlo con un
segmento de medida 7, con lo que el otro trozo mediría 24 y la hipotenusa 25,
pues 72+242=252
Existen otros números con la
misma propiedad: 7, descompuesto en 3 y 4, 23, doblado por 8 y 15, y otros
muchos.
Además de 7, 23 o 31, ¿qué
otros números tienen la propiedad de engendrar un triángulo rectángulo de
medidas enteras con un simple “doblado”?
Podríamos extender el tipo
de doblado a conseguir una hipotenusa y un cateto, o bien, con dos dobleces,
conseguir los tres lados, que es lo que se efectuó en la Antigüedad para
conseguir un ángulo recto con un doblado 3+4+5=12.
Comenzamos:
Doblado
en dos catetos
Para poder estudiar
simultáneamente varios casos, asignaremos una función a cada uno. Usaremos,
siguiendo una metodología reciente en este blog, funciones que nos devuelvan
los resultados en forma de string,
para poder ver las soluciones, y no un simple SÍ o NO. En este primer caso usaremos
esta función:
Function doblado$(n)
Dim i, j, k, m
Dim s$
m = 0
s = ""
For i = 1 To n / 2 ‘Llegamos
a n/2 buscando un cateto
j = n – i ‘El
otro posible cateto
k = i ^ 2 + j ^ 2 ‘Vemos
si forman terna pitagórica
If escuad(k) Then m = m + 1: s = s +
" ##" + Str$(i) + " " + Str$(j) + " " + Str$(Sqr(k))
‘En
caso afirmativo, incorporamos a la solución
Next i
If s = "" Then s =
"NO" Else s = Str$(m) + s ‘Añadimos número de
soluciones
doblado = s
End function
Si recorremos con esta función los primeros números, obtendremos las primeras soluciones, que ya publicamos en la entrada de hace doce años:
Como era de esperar, este listado ya está publicado en http://oeis.org/A118905:7, 14, 17, 21, 23, 28, 31,
34, 35, 41, 42, 46, 47, 49, 51, 56, 62, 63, 68, 69, 70, 71, 73, 77, 79, 82, 84,
85, 89, 91, 92, 93, 94, 97, 98, 102, 103, 105, 112, 113, 115, 119, 123, 124,
126, 127, 133, 136, 137, 138, 140, 141, 142, 146, 147, 151, 153, 154, 155, 158,
161, 164, 167, 168, 170, 175, 178, 182, 184, 186, 187, 188
Hemos observado que el
número 49 admite dos soluciones, (9, 40, 41) y (21, 28, 35). La primera terna
es primitiva, pero la segunda no.
Podemos extraer los primeros
números que presentan dos o más soluciones:
El máximo de soluciones de
la tabla anterior ha sido 4, pero existen números con más ternas posibles. Por
ejemplo, los números 833, 1127, 1519 y 1666 presentan siete.
Aquí deberemos parar un
poco. Observando la tabla, es fácil ver que muchas ternas no son primitivas. Si
solo nos interesan estas, en la función de más arriba, además de exigir que k = i
^ 2 + j ^ 2 sea un cuadrado, deberemos añadir que estos lados sean primos
entre sí, o que su MCD sea 1. Podría quedar así:
Function doblado$(n)
Dim i, j, k, m, p
Dim s$
m = 0
s = ""
For i = 1 To n / 2
j = n - i
k = i ^ 2 + j ^ 2
If escuad(k) Then
p = Sqr(k)
If mcd(i, mcd(j, p)) = 1
Then m = m + 1: s = s + " ##" + Str$(i) + " " + Str$(j) +
" " + Str$(p)
End If
Next i
If s = "" Then s =
"NO" Else s = Str$(m) + s
doblado = s
End Function
Con esta modificación, obtenemos un listado más restringido:
También estas soluciones
están ya publicadas en http://oeis.org/A120681 con
distinto orden. En esa misma página se remite a una prueba de que los factores
de los números de la lista (la mayoría son primos) tienen factores primos del
tipo 8k+1 o 8k-1 (el desarrollo está en http://oeis.org/A001132)
La razón de esta propiedad
es que estos números, al ser suma de catetos en una terna primitiva, se pueden
escribir de la forma u2-v2+2uv, con u y v primos entre sí
y uno de ellos par (ver, por ejemplo Wikipedia). Esto los convierte en
soluciones de (u+v)2-2v2=k, es decir una ecuación del
tipo x2-2y2=k.
La consideración anterior
los convierte también en soluciones de diferencia de catetos, porque u2-v2-2uv=(u-v)2-2v2=2x2-y2,
es decir, la misma ecuación. Este hecho se refleja en
Podemos hacer explícita esta equivalencia. Si una suma de
catetos proviene de dos valores u y v, su equivalente como diferencia se
basa en los valores u+2v, v. Es fácil verlo:
Suma de catetos: (u+v)2-2v2
Diferencia equivalente:
(u+2v-v)2-2v2
Es fácil verificarlo con dos
ejemplos:
7 es suma de catetos en la
terna (3, 4, 5), que corresponde a u=2, v=1. Los valores para que sea
diferencia son u+2v=4 y v=1, que forman la terna (2*4*1, 42-12,
42+12,)=(8, 15, 17), en la que la diferencia de catetos
es también 7.
Otro ejemplo: En la terna
(5, 12, 13), u=3 y v=2 con suma de catetos 17
El equivalente es (7-2)2-2*2*2=17,
que es diferencia de catetos en la terna (72-22, 2*7*2, 72+22)=(45,
28, 53), y 45-28=17.
Doblado en hipotenusa y cateto
En lugar de exigir una suma
de catetos podemos estar interesados en suma de hipotenusa y un cateto. Para
ello bastará cambiar algún signo en los códigos de Excel y PARI y modificar las
cotas de los datos. Puede quedar de esta forma:
Function doblado$(n)
Dim i, j, k, m, p
Dim s$
m = 0
s = ""
For i = 1 To n
j = n - i
If j < i And j > 0
Then ‘Acotamos el cateto
k = i ^ 2 - j ^ 2 ‘En
lugar de sumar, restamos
If escuad(k) Then
p = Sqr(k)
If mcd(i, mcd(j, p)) = 1
Then m = m + 1: s = s + " ##" + Str$(i) + " " + Str$(j) +
" " + Str$(p) ‘Seguimos buscando
primitivas
End If
End If
Next i
If s = "" Then s =
"NO" Else s = Str$(m) + s
doblado = s
End Function
Al hacer uso del MCD indicamos que deseamos soluciones sobre ternas primitivas. Buscamos números con esta función y los primeros que encontramos son estos:
Otro hecho que se descubre
es que todas las soluciones son
cuadrados o dobles de un cuadrado. La razón es sencilla, ya que al sumar
una hipotenusa y un cateto en una terna primitiva, podemos encontrarnos con dos
posibilidades:
Sumar u2+v2+2uv:
En ese caso obtendríamos el cuadrado (u+v)2
Sumar u2+v2+u2-v2,
lo que os llevaría a 2u2, el doble de un cuadrado.
Este razonamiento nos
llevaría a pensar, como en el caso de los dos catetos, que estos números
también serán diferencias entre hipotenusas y catetos, y en efecto, u2+v2-2uv
es un cuadrado y u2+v2-u2+v2 el
doble de un cuadrado. Esta propiedad se refleja en http://oeis.org/A096033
Doblado en tres lados
El número que consideremos
se podrá descomponer en tres lados, es decir, de forma que sea el perímetro de
un triángulo rectángulo. Hay varias formas de plantearlo, pero por seguir los
métodos de búsqueda anteriores, ampliamos las funciones usadas para que admitan
una variable más. La función doblado quedaría así:
Function doblado$(n)
Dim i, j, k, m
Dim s$
m = 0
s = ""
For i = 1 To n - 2 'Llegamos
a n-2 buscando la hipotenusa
For j = 1 To i - 1 'Primer
cateto
If j < i Then
k = n - i - j 'El
otro posible cateto
If i ^ 2 = j ^ 2 + k ^ 2 And
k < j And k > 0 Then m = m + 1: s = s + " ##" + Str$(i) +
" " + Str$(j) + " " + Str$(k) 'En
caso afirmativo, incorporamos a la solución
End If
Next j
Next i
If s = "" Then s =
"NO" Else s = Str$(m) + s 'Añadimos número de
soluciones
doblado = s
End Function
En este caso, la búsqueda nos devolvería estos primeros resultados:
Las soluciones se han publicado en http://oeis.org/A010814
Si incorporamos la condición
de que los tres lados, catetos e hipotenusa, sean primos entre sí, obtendremos
las soluciones para ternas primitivas, que serán iguales a las anteriores o
divisores de ellas, pues es sabido que el perímetro de una terna siempre es
múltiplo de otro correspondiente a una primitiva. Lo hemos efectuado así, resultando:
Están publicados en http://oeis.org/A024364
Según los párrafos
anteriores, la expresión de estos resultados vendrá dada por u2+v2+u2-v2+2uv=2u2+2uv=2u(u+v),
donde u y u+v son primos entre sí. Por ello, si u es par, o lo es u+v, la
solución será un número múltiplo de 4, y solo de 2 en caso contrario.
Por ejemplo, en la terna (5,
4, 3), u=2, v=1, u2+v2=5, u2-v2=3 y
2uv=4, el perímetro es 12=5+4+3, y es múltiplo de 4 por ser u par.
Sin embargo, en la terna
(13, 12, 5), u=3, v=2, u2+v2=13, u2-v2=5
y 2uv=12. En este caso, u es impar, y u+v también, lo que significa que el
perímetro 30 es múltiplo de 2, pero no de 4.
A la vista de los resultados
podría parecer que cada solución se corresponde con una sola terna primitiva,
pero no es así, pues, por ejemplo, 1716 se corresponde con dos:
1716=725+627+364 y
725^2=627^2+364^2; MCD(725, 627, 364)=1
1716=773+748+195 y
773^2=748^2+195^2; MCD(773, 748, 195)=1
Se puede detectar esto
mediante un algoritmo en PARI, similar a este:
for(u=2,30,for(v=1,29,if(gcd(u,v)==1&&(u+v)%2==1&&u>v,write("final.txt",2*u*(u+v)))))
Engendra las soluciones
buscando los valores de u y v adecuados.
Vuelca la solución en un
archivo, al que hemos dado el nombre de “final.txt”. Las soluciones se
escribirán en columna, pero desordenadas. Habrá que copiarlas en una hoja de
cálculo, ordenar la columna y detectar los duplicados. Es otra forma de actuar.