martes, 31 de marzo de 2020

Números que equivalen a áreas de triángulos pitagóricos



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: