jueves, 21 de enero de 2021

Terna pitagórica en la que el perímetro es múltiplo de uno de los catetos.

Hace unas semanas tuve ocasión de estudiar la terna pitagórica (9, 40, 41) y me llamó la atención el hecho de que la medida del cateto 9 dividía al perímetro 9+40+41=90. Me pregunté si existían muchos números con esa propiedad. Aquí tenéis mis búsquedas y razonamientos.

Al principio creí que sería un hecho más bien extraordinario, pero después de las primeras búsquedas me di cuenta de que existen muchos casos de este tipo, aunque son más abundantes aquellos en los que el perímetro no es múltiplo de ninguno de los catetos.

Solo tiene interés estudiar las ternas primitivas, en las que los tres lados son primos entre sí, porque si se cumple en una primitiva, también se cumplirá en sus derivadas, porque tanto el perímetro como los lados se multiplican por el mismo número, con lo que el carácter de múltiplo se conserva.

La primera terna en la que se cumple esto es la (3, 4, 5). Su perímetro es 12, y es múltiplo de 3 y 4.

La siguiente es (5, 12, 13), porque P=5+12+13=30, que es múltiplo de 5 (pero no de 12)

La primera terna en la que no se cumple es la (20, 21, 29), ya que el perímetro es 70, que no es múltiplo ni de 20 ni de 21.

Sospechamos, pues, que ninguno de los dos casos contrarios es excepcional.

Función de búsqueda

Hay dos formas de construir ternas primitivas. Una de ellas es la tradicional de buscar expresiones del tipo (2mn, m2-n2, m2+n2) con m y n primos entre sí y paridad distinta. Esta forma la dejamos para más adelante. Hemos visto que el algoritmo correspondiente no gana mucha velocidad.

(Ver este procedimiento en  https://es.wikipedia.org/wiki/Terna_pitag%C3%B3rica)

La otra forma es la que no usa esa teoría. Para una posible hipotenusa n, se descompone su cuadrado, si es posible, en suma de otros dos cuadrados enteros, y si las bases son primas entre sí y además el perímetro es múltiplo de uno al menos de los catetos, se cumplirá lo exigido. Lo plasmaremos en VBasic de Excel y más tarde en PARI.

Para Excel podemos usar la siguiente función de tipo texto. Su nombre recuerda cómo iniciamos la entrada, con un cateto 9 que dividía al perímetro 90.

Public Function cateto_div_terna$(n) 'n es la hipotenusa de la terna estudiada

Dim a, b, c, p, j, k

Dim s$

Dim noes As Boolean

 

a = n ^ 2 ‘Descomponemos n^2 en dos cuadrados

j = 1

b = 1: c = a - 1

s$ = ""

noes = True

j = 1 ‘Es la base del primer cuadrado

While j < n And noes

b = j ^ 2: c = a - b

If escuad(c) Then ‘Segundo cuadrado posible

k = Sqr(c)

p = n + j + k ‘Perímetro

If (p Mod j = 0 Or p Mod k = 0) And mcd(mcd(j, k), n) = 1 Then noes = False: s$ = Str$(n) + Str$(j) + Str$(k) + Str$(p)

‘La condiciones son que p sea múltiplo de j y de k y que todos sean primos entre sí.

Si se cumplen se recoge la solución en s$.

End If

j = j + 1

Wend

cateto_div_terna = s

End Function

 

Con esta función no es difícil recorrer números, quedarnos con la hipotenusa y reconstruir la terna. Aquí tienes las primeras soluciones:

Si continuamos buscando, llegaremos a una lista más extensa:

5, 13, 17, 25, 37, 41, 61, 65, 85, 101, 113, 145, 181, 197, 221, 257, 265, 313, 325, 365, 401, 421, 481, 485, 545, 577, 613, 677, 685, 761, 785, 841, 901, 925, 1013, 1025, 1105, 1157, 1201, 1297, 1301, 1405, 1445, 1513, 1601, 1625, 1741, 1765, 1861, 1937, 1985, 2113, 2117, 2245, 2305, 2381, 2501, 2521, 2665, 2705, 2813, 2917, 2965, 3121, 3137,

 La versión en PARI es una simple traducción de la de Excel. 

ok(k)={my(a=k^2,j=1,b=1,c=a-1,l,p, m=0);while(j<k&&m==0,b=j^2;c=a-b;if(issquare(c),l=sqrtint(c);p=k+j+l;if((p%j==0||p%l==0)&&gcd(gcd(j,l),k)==1,m=1));j+=1);m}

for(i=1,2000,if(ok(i),print1(i,", ")))

Su resultado coincide, como era de esperar, con el obtenido en Excel:


Hemos recorrido listas de ternas primitivas para seleccionar las que cumplen lo exigido, y se llega al mismo listado.

Estudio teórico

Tras la búsqueda a ciegas podemos plantearnos un estudio más profundo. Nos basaremos en la clásica fórmula de generación de ternas primitivas:

(2mn, m2-n2, m2+n2) con m y n coprimos y de distinta paridad.

En ese caso el perímetro P tendrá la fórmula P=2mn+m2-n2+ m2+n2=2m(m+n)

Se pueden dar tres casos:


1) El perímetro es múltiplo del cateto par

2m(m+n)/(2mn)=(m+n)/n=m/n+1

Al ser m y n coprimos y de distinta paridad, para que sea múltiplo ha de ser n=1 y m=2r, con lo que hipotenusa será m2+n2=4r2+1.

El perímetro será 4r+4r2+1+4r2-1=8r2+4r=4r(2r+1) y pertenecerá a http://oeis.org/A033586 y la diferencia entre hipotenusa y cateto mayor será de dos unidades.

Puedes verificar que todas las soluciones en las que el perímetro es múltiplo del cateto impar tienen esta forma. Así ocurre con el ejemplo con el 17, que forma la terna (8, 15, 17), en la que 17=4*22+1, el perímetro es 8+15+17=40, que es múltiplo de 8.

Por tener esta expresión, las hipotenusas correspondientes pertenecerán a http://oeis.org/A053755 y las primeras serán 5, 17, 37, 65, 101, 145, 197, 257, 325, 401,…


2) El perímetro es múltiplo del cateto impar

En ese caso hay que estudiar el cociente 2m(m+n)/(m2-n2)=2m/(m-n)=2+2n/(m-n), lo que obliga a que 2n/(m-n) sea entero. El denominador m-n ha de ser impar, luego ha de dividir a n y n/(m-n)=t será entero. Se deduce que n=(m-n)t; n(t+1)=m*t; n/t=m/(t+1)=k, lo que lleva a que k=1, pues en caso contrario, m y n no serían primos entre sí. Por tanto queda que n=t y m=t+1, es decir, que m y n son consecutivos. La hipotenusa quedaría como (n+1)^2+n^2.

Esto ocurre en el ejemplo del principio de esta entrada, (9, 40, 41): 41=52+42, 9=52-42; 40=2*4*5, y 41+40+9=90 es múltiplo del cateto impar.

Las hipotenusas de este tipo pertenecen a http://oeis.org/A001844

La terna quedará: (2mn, m2-n2, m2+n2)=(2n2+2n, 2n+1, 2n2+2n+1) y serán consecutivos la hipotenusa y un cateto

El perímetro será 2(n+1)(2n+1) y pertenecerá a http://oeis.org/A002939

Estos dos casos cubren toda la sucesión de hipotenusas que estamos estudiando.

Esto da lugar a otra función alternativa más rápida:

Public Function cateto2_div_terna(n) 'Da la hipotenusa para que el perímetro sea divisible

Dim b, c, j, k, a

Dim es As Boolean

 

j = 1

a = j ^ 2

es = False

While a < n And Not es

b = n - a

If escuad(b) Then ‘Se descompone n en suma de dos cuadrados

c = Sqr(b)

If c < j And (c = 1 And a Mod 2 = 0 Or Abs(j - c) = 1) Then es = True ‘Las dos condiciones

End If

j = j + 1: a = j ^ 2

Wend

cateto2_div_terna = es

End Function

 

Es interesante la intersección entre los dos casos:


3) El perímetro es múltiplo de los dos catetos

Es el caso del 5 y del 145, que cumplen las dos condiciones estudiadas. Es decir, en ellos se dará que

4r2+1=(n+1)^2+n^2

5=4*12+1=22+12

145=4*62+1=92+82

Desarrollando y despejando 4r2 tenemos: n2+2n+1+n2-1=2(n2+n) ha de ser un cuadrado (que será par con seguridad) y la hipotenusa una unidad mayor. Aquí tienes los primeros:


Resultan ser elementos de
http://oeis.org/A076218, pero con una definición alternativa.

 Si te gustan las ecuaciones diofánticas, puedes plantear lo siguiente:

 (n+1)2+n2=4r2+1; 2n2+2n+1=4r2+1; 4n2+4n+2=8r2+2; (2n+1)2-8r2=1.

 Esta es una ecuación de Pell, y la puedes resolver con nuestra hoja de cálculo

 http://www.hojamat.es/sindecimales/aritmetica/herramientas/hoja/pell.xls

 


 Los valores de X serán, según lo visto más arriba, iguales a 2n+1. Si les restamos 1 y los dividimos entre 2, resultarán los índices de la tabla de arriba y las soluciones serán del tipo n2+(n+1)2:

 


 Esta tabla completa el estudio, que ha resultado con más base teórica de la que podía pensarse al inicio de las búsquedas.

 

No hay comentarios: