El 18 de septiembre de 2009 publiqué una de mis primeras
entradas de este blog, con el siguiente breve texto:
Ternas
pitagóricas que comparten área
La lectura
de la biografía de Lewis Carroll me ha sugerido el proponer la siguiente
búsqueda, inspirada en un problema que le impidió dormir una noche:
¿Qué números
enteros equivalen al área de un triángulo rectángulo de lados también enteros,
de tres formas distintas?
La primera
solución es 840, porque las tres ternas
15, 112 y
113
24, 70 y 74
40, 42 y 58
pertenecen a
lados de triángulos rectángulos de área 840.
¿Cuáles son
las siguientes soluciones?
A partir de ella, mi amigo Claudio Meller (https://twitter.com/MellerClaudio)
publicó en OEIS el resto de soluciones, como puedes comprobar en http://oeis.org/A177021
A partir de cálculos que no vienen al caso, me ha
apetecido volver a este tema, estudiando otros casos parecidos y los
procedimientos para llegar a ellos.
Procedimiento
general de búsqueda
Las condiciones del problema se traducen, dado un
número N, en encontrar los dos catetos de una terna pitagórica adecuada, sea a2+b2=c2,
tales que a*b=2*N. Bastará entonces buscar pares de divisores de 2N que sean
catetos en una terna pitagórica. La hipotenusa c no tiene por qué intervenir.
Si organizamos la búsqueda con estas propiedades,
será útil contar los pares válidos, para ver a cuántas áreas equivale N. También,
según decidimos últimamente, podemos crear una función que devuelva una cadena
de texto con los valores de los catetos. Proponemos esta, para Excel o Calc:
Function areapitag$(n)
Dim p, q, m
Dim s$
s$ = "": m = 0 ‘Se pone a cero el contador y el resultado
For p = 2 To Sqr(2 * n) ‘Un cateto
no puede sobrepasar la raíz cuadrada de 2N
q = 2 * n / p ‘El otro divisor
If q = Int(q) Then ‘Tiene que ser
entero
‘Si es terna pitagórica, se memoriza y se
incrementa el contador
If escuad(p ^ 2 + q ^ 2) Then m = m + 1: s$
= s$ + " # " + Str$(p) + ", " + Str$(q)
End If
Next p
If s$ = "" Then s$ =
"NO" Else s$ = Str$(m) + s$
areapitag = s
End Function
Así, si tomamos, por ejemplo el 840 del texto de
arriba, nos devolverá:
AREAPITAG(840)=” 3 # 15,
112 # 24, 70 #
40, 42”
Significará que hay tres soluciones (primer 3 de
la cadena) y que los catetos de cada una son (15,112), (24,70) y (40, 42), tal
como afirmamos hace más de diez años.
Con esta función, si leemos el primer dígito del
resultado S$, sabremos cuántas soluciones presenta cada número dado. En Excel
podemos usar LEFT$(S;2), sabiendo el número está precedido por un espacio en
blanco, o bien MID$(S,2,1). En cualquier bucle de búsqueda que organicemos,
usaremos una de estas dos condiciones para identificar qué números no presentan
solución o bien una o más de una.
Antes de emprender búsquedas, hay que advertir que
si un número a posee un número de
soluciones, también las tendrá a*m2, por la generación de las
distintas ternas como múltiplos de una terna primitiva.
Números que
son área de al menos una terna
La primera cuestión puede consistir en descubrir
qué números coinciden con al menos un área de triángulo pitagórico. Con la
función anterior areapitag basta
exigir que el resultado sea distinto de “NO”. Los primeros números de este tipo
son:
Todos equivalen a un área, salvo 210 que admite
dos. Están ya publicados, como algunos de los que estudiaremos hoy.
Areas of
Pythagorean triangles: numbers which can be the area of a right triangle with integer
sides.
6, 24, 30,
54, 60, 84, 96, 120, 150, 180, 210, 216, 240, 270, 294, 330, 336, 384, 480,
486, 504, 540, 546, 600, 630, 720, 726, 750, 756, 840, 864, 924, 960, 990,
1014, 1080, 1176, 1224, 1320, 1344, 1350, 1386, 1470, 1500, 1536, 1560, 1620, 1710,
1716, 1734, 1890
Todos los términos son múltiplos de 6.
Se generan en PARI con un código algo oscuro. Es
preferible este otro que proponemos, copia de la función areapitag:
for(i=1,2000,m=0;for(p=2,sqrt(2*i),q=2*i/p;if(q==truncate(q)&&issquare(p^2+q^2),m+=1));if(m>0,print1(i,",
")))
Puedes comprobar que se llega al mismo listado.
De ellos, algunos solo admiten una representación,
como se ha visto en la tabla de más arriba. Si en el código PARI sustituimos m>0
por m==1,
los obtendremos:
6, 24, 30, 54, 60, 84, 96, 120, 150, 180, 216,
240, 270, 294, 330, 336, 384, 480, 486, 504, 540, 546, 600, 630, 720, 726, 750,
756, 864, 924, 960, 990, 1014, 1080, 1176, 1224, 1344, 1350, 1386, 1470, 1500,
1536, 1560, 1620, 1710, 1716, 1734, 1920, 1944,…
Observamos que ya no está 210, que equivale a dos
áreas. Esta sucesión no figura en OEIS.
Si en el código cambiamos m==1 por m==2,
obtendremos los números que equivalen a dos áreas.
210, 1320, 1890, 2730, 4914, 5250, 5280, 7980, 10290, 11880,
17010, 18480, 19656, 21120, 24570, 25410, 29400, 30600, 32130, 33000, 34650,
35490, 41580, 44226,…
Por último, si igualamos a 3, resultará la sucesión con la
que comenzamos la entrada
A177021 Numbers which are
the area of exactly three Pythagorean triangles.
840, 3360, 7560,
10920, 13440, 21000, 30240, 31920, 41160, 43680, 53760, 68040, 84000, 98280,
101640, 120960, 127680, 141960, 164640, 166320, 174720, 189000, 215040, 242760,
272160, 273000, 286440, 287280, 303240, 336000, 370440, 393120, 406560, 444360
AUTHOR Claudio Meller,
on a suggestion by Antonio Roldán, Dec 08 2010
Para finalizar, si deseas practicar un poco, intenta
encontrar estos números con nuestra función areapitag
(con Excel o PARI). En esta sucesión a(n) es el menor número que equivale a
las áreas de n triángulos pitagóricos:
A055193 Smallest number that
is the area of n distinct Pythagorean triangles.
6, 210, 840, 341880,
71831760, 64648584000, 2216650756320, 22861058133513600
No hay comentarios:
Publicar un comentario