martes, 22 de noviembre de 2022

Regresos 6 – Oblongos y pitagóricos (1)

 Desde la publicación de nuestra entrada de título “Oblongos y pitagóricos” (https://hojaynumeros.blogspot.com/2010/03/oblongos-y-pitagoricos-3.html) hemos estudiado algunas relaciones entre catetos e hipotenusa dentro de una terna pitagórica. Parece conveniente repasar las mismas, eliminando lo accesorio, y efectuar una síntesis de varias entradas.

Catetos que se diferencian en una unidad

Comenzaremos con un repaso a la primera cuestión que publicamos:

Una cuestión que ha dado juego desde los tiempos de Girard y Fermat y que permite recorrer alternativas de cálculo es la siguiente:

De todos los triángulos rectángulos de lados enteros ¿Cuáles cumplen que la diferencia entre los catetos es la unidad?

Recordábamos que la primera terna en cumplir esta condición es la popular 3, 4 y 5. El resto resultará de la ecuación x2+(x+1)2=y2.

Otra forma de expresarlo es que el área del rectángulo formado por los dos catetos es un número oblongo, tipo N(N+1) y, por tanto, el área del triángulo será triangular (N(N+1)/2).

Podemos resolverla mediante búsqueda y con técnicas algebraicas.

Búsqueda

Como últimamente usamos funciones, organizaremos la búsqueda con la siguiente:

Function catetoscons$(n)

Dim a

Dim s$

s = ""

a = n^2 + (n+1)^2

If escuad(a) Then s = Str$(n) + Str$(n + 1) + Str$(Sqr(a))

catetoscons = s

End Function

 

Su funcionamiento se entiende bien: si n^2+(n+1)^2 es cuadrado, devuelve la terna completa. Las primeras conseguidas son:

Los valores de N están publicados en http://oeis.org/A001652. Volveremos a esta sucesión para revisar algunas propiedades.

Versión en PARI

Con este código avanzaremos más lejos en los valores de N:

is(n)={issquare(n^2+(n+1)^2)}

for(i=1,10^9,if(is(i),print1(i,", ")))

Obtenemos este resultado:

3, 20, 119, 696, 4059, 23660, 137903, 803760, 4684659, 27304196, 159140519,

Hemos llegado más lejos, pero con tantas cifras la búsqueda se hace muy lenta. Es preferible algún otro procedimiento más rápido, por lo que pasamos al Álgebra:

Estudio algebraico

La ecuación x2+(x+1)2=y2 se puede desarrollar de esta forma: x2+(x+1)2=y2;  2x2+2x+1=y2; (2x+1)2+1=2y2; (2x+1)2 - 2y2 = -1, por lo que llamando z=2x+1 desembocamos en una ecuación de Pell con segundo miembro igual a -1

Z2-2y2 = -1

Utilizamos la hoja de cálculo pell.ods o pell.xlsm contenidas en la dirección

http://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm

con el resultado que indica la imagen siguiente


en la que valdrán las soluciones correspondientes a -1

Z=1;   Y=1;       Imposible, pues X sería negativo

Z=7;   Y=5         X=3; X+1=4; Y=5

Z=41; Y=29      X=20; X+1=21; Y=29

Z=239; Y=169   X=119; X+1=120; Y=169

Z=1393; Y=985 X=696; X+1=697; Y=985

Este método tiene el inconveniente de que depende de la precisión que tenga la hoja de cálculo en los números con coma flotante, lo que hará que se rompa en algún momento la periodicidad de los cocientes, en este caso el 2. Por ello se puede completar con una fórmula recursiva que obtenga soluciones exactas conociendo las primeras.

En este ejemplo cada elemento de las distintas celdas cumple la fórmula

an+2 = 2an+1 + an

pero como las soluciones aparecen de forma alternada, deberemos reiterar dos veces, y nos quedará:

an+4 = 2an+3 + an+2 = 2(2an+2 + an+1)+ 2an+1 + an = 4an+2 + 4an+1+ an = 6an+2 -  an

Con esta fórmula recursiva se van obteniendo las soluciones sin errores a partir de las dos primeras:

Z0 = 1; Z2 = 7; Z4 = 6*7-1 = 41; Z6 = 6*41-7 =239;…

Y0 = 1; Y2 = 5; Y4 = 6*5-1 = 29; Y6 = 6*29-5 =169;…

Pero no olvidemos que Z es una variable auxiliar Z=2X+1 y que después debemos despejar X

La siguiente lista de ternas, que coincide con la primera que propuso Girard, se ha obtenido mediante esta técnica. Los valores de N coinciden con los de la segunda columna.

1

0

1

5

3

4

29

20

21

169

119

120

985

696

697

5741

4059

4060

33461

23660

23661

195025

137903

137904

1136689

803760

803761

6625109

4684659

4684660

38613965

27304196

27304197

225058681

159140519

159140520

1311738121

927538920

927538921

7645370045

5406093003

5406093004

44560482149

31509019100

31509019101

259717522849

183648021599

183648021600

1513744654945

1070379110496

1070379110497

8822750406821

6238626641379

6238626641380

51422757785981

36361380737780

36361380737781

299713796309065

211929657785303

211929657785304

Los valores de N coinciden con los contenidos en http://oeis.org/A001652, que, por cierto, usa esta recurrencia como definición, que con el cambio de variable entre Z y X queda así:

a(n) = 6*a(n-1) - a(n-2) + 2 with a(0) = 0, a(1) = 3.

0, 3, 20, 119, 696, 4059, 23660, 137903, 803760, 4684659, 27304196, 159140519, 927538920, 5406093003, 31509019100, 183648021599, 1070379110496, 6238626641379, 36361380737780, 211929657785303,

Con hoja de cálculo ya no podemos seguir, por el problema de la coma flotante. Lo podemos intentar con PARI:

a=0;b=3;print1(a,", ");print1(b,", ");while(a<10^20,c=6*b-a+2;print1(c,", ");a=b;b=c)

Como llegamos a 10^20, en pocos segundos se avanza en la lista de valores de N:


Una curiosidad

Cuando no se tienen claras las fórmulas de recurrencia lineal, pero se dispone de suficientes términos iniciales. Se puede acudir a mi hoja de cálculo ecurrecurre, disponible en la dirección

http://www.hojamat.es/blog/ecurrecurre.xlsm

En este caso usamos como datos los términos iniciales 0, 3, 20, 119, 696, y elegimos la variedad “No homogénea”, para que admita el sumando independiente 2. Pulsamos el botón de resolver y nos devuelve los coeficientes 6, -1 y 2.


Recurrencia doble

Fermat propuso una fórmula de recurrencia para generar ternas de este tipo a partir de otras similares. Dada la terna (x,x+1,y), se puede generar otra similar (x’,x’+1,y’) mediante las fórmulas x’=2x+3y+1  y y’=4x+3y+2.

Cuando se buscan las soluciones de la ecuación de Pell las recurrencias vienen dadas por las fórmulas de recurrencia zn+1=zn*z0+D*yn*y0  yn+1=zn*y0+yn*z0, pero en el caso z2-2y2 = -1 las soluciones surgen de forma alternada.

Así, como en este caso z0=1, y0=1, tendremos:

zn+1=zn+2yn; yn+1=zn+yn  y reiterando dos veces

Z’’=Z’+2Y’=(Z+2Y)+2(Z+Y) = Z+2Y+2Z+2Y = 3Z+4Y

Y’’=Z’+Y’ = Z+2Y+Z+Y = 2Z+3Y

Teniendo en cuenta que Z=2X+1, y que Y=X+1, nos resulta

Y’’=2Z+3Y=2(2X+1)+3Y = 4X+3Y+2, que es la segunda fórmula de Fermat

De Z’’=3Z+4Y podemos obtener (2X’’+1)=3(2X+1)+4Y;  2X’’ = 6X+4Y+2;

X’’ = 3X+2Y+1, que es la primera

Aplicamos estas dos fórmulas al cateto menor y a la hipotenusa y obtenemos los mismos resultados a partir de 3, 4 y 5

X''=3X+2Y+1        X+1   Y''=4X+3Y+2

3        4        5

20      21      29

119   120   169

696   697   985

4059 4060 5741

23660 23661 33461

137903 137904   195025

803760 803761   1136689

4684659 4684660 6625109

27304196  27304197  38613965

159140519 159140520 225058681

 Uso de la generación de ternas

 La terna 3, 4, 5 está engendrada por las fórmulas clásicas 2uv, u2-v2 y u2+v2 para u=2 y v=1. Si sustituimos u y v por u, v+2u se mantendrá la misma diferencia entre catetos.

Basta ver que si engendramos los nuevos catetos y los restamos (en orden contrario) resultará: 2u(v+2u) - (v+2u)2+u2= 2uv+4u2-v2-4u2-4uv+u2 = u2-v2-2uv, que es la diferencia original.

Esto nos permite engendrar de nuevo la lista que estamos considerando, tomando, n primer lugar u=2 v=1, y generando con ella la primera terna 3, 4 y 5. Después se aplica la fórmula de recurrencia  un = 2un-1+vn-1 vn = un-1 y se vuelve a generar una terna con ella, que resultará tener la misma diferencia pero con signo cambiado. Así hemos generado la lista con hoja de cálculo:


Con este cálculo abandonamos los algoritmos, y en la siguiente entrada pasaremos a propiedades curiosas de este tipo de ternas.


jueves, 10 de noviembre de 2022

Números con divisores consecutivos

 Todos los números pares poseen al menos un par de divisores consecutivos, el (1, 2). Los múltiplos de 6 poseen también el (2, 3). Los factoriales poseen muchos, debido a su definición. Por ejemplo, 5!=120 posee los pares (1,2) (2,3) (3,4), (4,5) y (5,6). En el extremo opuesto están los impares, y entre ellos los primos mayores que 2, en los que no existe ningún par de divisores consecutivos, como es claro.

Otros números poseen pares inesperados. Por ejemplo 936 posee el par (12, 13), que no se esperaría sin conocer su descomposición factorial. Es elemental construir un número con los pares de consecutivos que nosotros deseemos, por ejemplo 5*6*17*18. Basta multiplicar según sea nuestro objetivo.

No es difícil, ante un número propuesto cualquiera, como el 17432, averiguar si posee divisores consecutivos. En primer lugar, solo trabajaríamos con números pares, pues los impares no presentan esta situación, ya que n(n+1) es siempre par.

Otra forma de presentar el problema es la búsqueda de divisores oblongos, ya que al tener la descomposición N(N+1) nos garantizan la existencia de un par de divisores consecutivos.

Con toda esta introducción y alguna búsqueda previa, queda claro que los casos de uno o de dos pares no tienen mucho interés, ya que cada tres números pares consecutivos aparecerá un múltiplo de 6.

Búsqueda del número de pares

La experiencia de años nos indica que en las búsquedas es conveniente comenzar con ideas muy simples, para después complicar si se ve necesario.

En este caso el esquema de búsqueda sería:

·       Llamamos N al número y M al número de pares encontrado.

·       Averiguamos si es par. Si no lo es le asignamos una salida M=0

·       Si es par, recorremos los números menores que él desde el 1 hasta N/2-1, que sería el mayor divisor a considerar (pues N/2 siempre sería divisor). Iniciamos M=0. Añadimos un caso especial para N=2.

·       Por cada par que aparezca, incrementamos M en una unidad, y al final esa sería la salida del algoritmo.

En Excel se podría definir esta función:

Public Function paresdivcons(n)

Dim m, d

If n / 2 <> n \ 2 Then paresdivcons = 0: Exit Function 'No es par

If n = 2 Then paresdivcons = 1:exit function ‘Caso del 2

m = 0 'Contador de pares

For d = 1 To n / 2 - 1

If n / d = n \ d And n / (d + 1) = n \ (d + 1) Then m = m + 1 'Hay un par

Next d

paresdivcons = m

End Function

Hemos usado el criterio n/d=n\d, que es sencillo, para averiguar si n es múltiplo de d (se iguala la división con decimales con la división entera). Podíamos haber usado también n mod d =0.

Así el número que se eligió como ejemplo más arriba, el 17432, tendría un solo par de divisores consecutivos, porque paresdivcons(17432)=1. Será entonces, necesariamente, el par (1,2), como puedes comprobar en el listado de divisores:

17432 8716 4358 2179 8 4 2 1


Casos particulares

Vimos más arriba que los números impares no pueden tener pares de divisores consecutivos. En ellos M=0

Los semiprimos pares, salvo el 6, presentarán un solo par, el (1,2) porque si N=2P con P primo, sus únicos divisores serían 1, 2, P y 2P, por lo que solo contaríamos con dos pares si P=3.

Estos dos casos, junto al de los factoriales, nos da la idea de establecer una medida de la abundancia de pares de consecutivos que posee un número. Para mejor comparar unos  con otros, podíamos medir esta cuestión con el cociente M/D, siendo D el número total de divisores. Así, M/D siempre estaría entre 0 y 1, lo que facilitaría las gráficas y las comparaciones. Le vamos a llamar ADP (abundancia de pares).

El conteo de los divisores de un número está muy estudiado. Es la función TAU o DIVISOR, que puedes consultar en nuestra publicación “Funciones multiplicativas”,

 http://www.hojamat.es/publicaciones/multifun.pdf

En esta tabla puedes observar los valores de ADP en los primeros números pares:

La primera columna contiene el valor del número N, y después le siguen M, número de pares, TAU, como contador de divisores, y a continuación su cociente, APD, que hemos tomado como medida estándar. Las dos últimas columnas contienen respectivamente, los factores primos y la lista de divisores, para comprobar. El segundo número que figura entre corchetes en la columna de factores es su exponente. Por ejemplo, para 12 es [2,2][3,1].

En este listado comprobamos que los que menos abundancia tienen son los semiprimos mayores que 6, con APD=0,25, y unos que habíamos olvidado, como son las potencias de 2. Observamos que 8, 16 y 32 solo preesentan el par (1,2).

Si construimos una gráfica, deberemos esperar algún tipo de periodicidad:

 

Se observan máximos relativos en 2, 6 y 12  y mínimos en 70 y 88 y periodos parciales de 6 unidades.

 

Caso general

Con lo que hemos observado hasta ahora podemos resumir la situación para números en general:

Todo número N se puede descomponer de la forma N=2k*p1*p2*p3…, donde p1, p2 p3, son primos impares , repetidos o no.

Si N=2k, sin primos acompañantes, ya sabemos que solo puede presentar el par (1,2)

Por el contrario, si N=p1*p2*p3…todos los divisores son impares, y es imposible que contengan ningún par de divisores consecutivos.

Por último, si N contiene potencias de 2 y también algún primo, deberemos distinguir

Si la potencia de 2 tiene exponente 1, y solo existe un primo mayor que 3, por ejemplo en 2*7=14, como semiprimo de este tipo presentará el par (1,2).

Si la potencia de 2 es mayor, pueden surgir pares por pura coincidencia, como en N=23*7=56, en el que aparece el par (7,8).

Si existe abundancia de factores primos, es de esperar que surjan más pares, pero esta es una idea empírica. Sobre ella construiremos algunas frecuencias sin valor probatorio.

 

Frecuencias

Para tener un término de comparación, recorreremos todos los números pares desde 2 hasta 20000 para encontrar las frecuencias según el número de divisores. Para quienes sientan curiosidad, hemos usado esta función de Excel:

Function histodivcons$(n)

Dim i, a

Dim f(9)

Dim s$

For i = 0 To 9: f(i) = 0: Next i

For i = 1 To n

a = paresdivcons(i * 2)

If a < 9 Then f(a) = f(a) + 1 Else f(9) = f(9) + 1

Next i

s = ""

For i = 1 To 9: s = s + Str$(f(i)) + ", ": Next i

histodivcons = s

End Function

 

En este caso, con números sin filtrar, resultan esta tabla y este diagrama de columnas:


Ahora podríamos exigir que su número de divisores (función TAU) sobrepasara el número 16 (o igual a 16), que es el que presentan los números con cuatro divisores sin repetir. Resultaría entonces algo muy distinto:


Por último, si exigimos que TAU sobrepase el valor 31, queda:

 

Queda así comprobada de forma empírica la influencia del número de divisores en el de pares de consecutivos. Esto refleja la componente de azar que presentan estos.