Mostrando entradas con la etiqueta Cubos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Cubos. Mostrar todas las entradas

miércoles, 23 de abril de 2025

Diferencia de dos cubos igual a una suma

 Caso general

En los cálculos que publico diariamente uso dos funciones para averiguar si un número es suma de cubos o bien diferencia. No se me había ocurrido simultanear ambas propiedades y lo hago ahora.

¿Qué números enteros positivos son suma de dos cubos y simultáneamente diferencia de otros dos, siendo en ambos casos cubos enteros positivos?

Un ejemplo es el 152, que por una parte equivale a 3^3+5^3=27+125, y por otra a 6^3-4^3=216-64.

Con las publicaciones precedentes tenemos acceso a dos funciones que encuentran estas descomposiciones: SUMCUBOS y DIFCUBOS. Las copio a continuación:

Function sumcubos(n)
Dim k, a, m, b
Dim s$

s = "" ‘Contenedor de resultados
m = 0 ‘Contador de soluciones
a = n ^ (1 / 3) ‘Máximo cubo posible
For k = 1 To a
b = n - k ^ 3 ‘Segundo posible cubo
If escubo(b) And k <= b ^ (1 / 3) Then m = m + 1: s = s + " a=" + Str$(k) + " b=" + Str$(Int(b ^ (1 / 3) + 0.0001)) ‘Hay nueva solución
Next k ‘Si no hay solución devuelve “NO”
End Function

Usa nuestra función ESCUBO:

Function escubo(n)

Dim a

a = Int(n ^ (1 / 3) + 10 ^ (-6))

If a * a * a = n Then escubo = True Else escubo = False

End Function

 

La segunda función es algo más complicada, porque la diferencia presenta otro condicionante, y es que la diferencia de cubos ha de ser divisor de N.

 Function difcubos$(n)
Dim k, a, t, m, p
Dim s$

s = "" ‘Contenedor de soluciones
m = 0 ‘Contador de soluciones
For k = 1 To n / 2 ‘La diferencia de bases es divisor de N
If n / k = n \ k Then ‘Criterio de divisibilidad
t = Sqr(n / k / 3) ‘Máximo cubo con esa diferencia
For a = 1 To t
If (a + k) ^ 3 - a ^ 3 = n Then m = m + 1: s = s + " # a=" + Str$(a) + " b=" + Str$(a + k) ‘Existe solución
Next a
End If
Next k
If s = "" Then difcubos = "NO" Else difcubos = ajusta(m) + " " + s
End Function

El que esta segunda función use también el “NO” para cuando no existe solución nos permite simultanear las dos condiciones:

 SUMCUBOS(N)<>”NO” AND DIFCUBOS(N)<>”NO”

 Usamos esta condición en un buscador y nos devolverá la lista de números enteros positivos que son simultáneamente suma y diferencia de dos cubos (también enteros positivos)

 


Están publicados en https://oeis.org/A225908, y es subsecuencia de https://oeis.org/A051347 En esas páginas se llama la atención sobre que estas propiedades permiten descomponer algunos cubos en suma de otros tres. Ya he comentado esta propiedad anteriormente en otras entradas. Por ejemplo, 18^3=16^3+12^3+2^3. Esta igualdad se extrae de los resultados del número 4104.

Si se usa la función TRESCUBOS (no se explica aquí porque usa otras funciones que alargarían esta entrada) con uno de los cubos mayores, se reproducirán algunos resultados. Por ejemplo, con 18^3, si lo descomponemos en suma de tres cubos, daría lugar a

18^3=15^3+6^3+9^3=16^3+6^3+2^3

Si pasamos restando algún sumando, obtendríamos algunos casos de los estudiados. Por ejemplo:

18^3-15^3=9^3+6^3

A continuación estudiaremos algunos casos y propiedades particulares.

Casos particulares de los cubos sumandos

Cubos consecutivos

Los dos cubos que se suman pueden ser consecutivos. Añadiendo algún parámetro a nuestra función se pueden encontrar esos casos particulares. No abundan. Estos son los inferiores a 10^5:

 

En ellos se ha de cumplir que N=(a+1)3+a3=2a3+3a2+3a+1, luego a será un divisor de N-1.

Por ejemplo. 68705-1 se descompone como 25*19*113, y, efectivamente, 32=25 es un divisor suyo, y es la base del cubo menor de la suma.

Cubos de N y N+2

Con el mismo procedimiento obtenemos los primeros casos en los que las bases de los cubos que se suman se diferencian en dos unidades.

Es sencillo demostrar que aquí la base del cubo menor ha de ser divisor de N-8, como ocurre con 16120, en el que (16120-8)/19=848

Cubos de base prima

Para finalizar, se adjuntan los tres primeros resultados para el caso en el que las bases de los cubos que se suman sean números primos. Se acumulan las exigencias y es normal que resulten pocos resultados.

 


 Versión en PARI

Para quienes deseen practicar con este lenguaje, se inserta a continuación un código que devuelve las soluciones entre1 y 5000. Es interesante estudiar el uso de vectores para devolver las soluciones:

 

sumadoscubos(n)=my(i=1,m,v=[0,0]);while(i<=n^(1/3),m=n-i^3;if(ispower(m,3)&&m<=i^3,v=[i,m^(1/3)]);i+=1);v

difcubos(n)=my(k,t,a,v=[0,0]);for(k=1,n,if(n%k==0,t=sqrt(n/k/3);for(a=1,t,if((a+k)^3-a^3==n,v=[a+k,a]))));v

for(m=1,5000,u=difcubos(m);t=sumadoscubos(m);if(u<>[0,0]&&t<>[0,0],print(m," Suma ",t," Diferencia ",u)))

 

Resultado:



 

 

 

 

martes, 18 de febrero de 2025

Regresos 14 – (2) Bases de cuatro cubos con suma cero

 En la anterior entrada estudiamos las sumas de cubos cuyas bases suman cero. En esta otra ampliaremos el estudio a cuatro cubos.         

Sumas con cuatro cubos

Algunas consideraciones relativas a las sumas de tres cubos cuyas bases suman cero son válidas para el caso de las sumas de cuatro cubos. La más importante es la de que el número que equivale a la suma de cubos ha de ser múltiplo de 6.

Distinguiremos dos casos, según sean los signos de las bases de los cubos.


Dos positivos y dos negativos

Si el esquema de los cuatro cubos es el de dos positivos y dos negativos, se puede intentar un estudio algebraico no muy complicado. Llamamos k a la suma de las dos bases positivas, y a ellas, p y k-p. Igualmente, podemos llamar –r y r-k a las negativas. Quedaría, pues, el valor de N como

N=p3+(k-p)3-r3-(k-r)3

N=p3+k3-p3-3k2p+3kp2-r3-k3+r3+3k2r-3kr2

N=-3k2p+3kp2+3k2r-3kr2=3k2(r-p)+3k(p2-r2)=3k(k(r-p)+(p-r)(p+r))

N=3k(p-r)(p+r-k)

Llegaríamos a una situación similar a la del caso de tres cubos, pero con un parámetro más. Por ejemplo:

30=6^3+4^3-5^3-5^3, y p=6, k=10, k-p=4, r=5 y k-r=5

30=3*10*(6-5)*(6+5-10)=30*1*1=30

30 también es igual a 43+13-33-23, y queda

30=3*5*(4-2)(4+2-5)=3*5*2*1=30

Esto abre camino a una función similar a la usada para tres cubos, pero con tres bucles de búsqueda en lugar de dos. El número N también ha de ser múltiplo de 6, porque k(p-r)(p+r-k) siempre es par.

Podemos usar esta función:

Function cubossum4$(n)
Dim p, q, r, k
Dim s$

s = ""
If n Mod 6 <> 0 Then cubossum4 = "NO": Exit Function
For k = 2 To n / 2
If n / k = n \ k Then
For p = 1 To k / 2 - 1
q = k - p
For r = 1 To k / 2
If n = 3 * k * (p - r) * (p + r - k) Then s = s + " # " + ajusta(p) + "^3+" + ajusta(q) + "^3-" + Str$(r) + "^3-" + Str$(k - r) + "^3"
Next r
Next p
End If
Next k
If s = "" Then s = "NO"
cubossum4 = s
End Function

No necesita comentarios, porque es similar a las anteriores.

Con ella conseguimos un listado de soluciones, todas ellas con dos cubos positivos y dos negativos:


Un cubo positivo y tres negativos

El otro caso de cuatro cubos presentaría este otro esquema

N=(p+q+r)3-p3-q3-r3

Esto obliga a que N sea par, pues así es para todos los juegos de paridad de p, q y r.

También es múltiplo de tres, ya que desarrollando esa diferencia llegamos a

N=3x2y+3x2z+3xy2+6xyz+3xz2+3y2z+3yz2

En este caso no es seguro que algún parámetro sea divisor de N, por lo que la búsqueda recorrerá más números. Sí ocurrirá que x, y, z serán menores que N/3.

Podemos usar esta función:

Function cubossum3(n)

Dim i, j, k

Dim s$

s = ""

If n Mod 6 <> 0 Then cubossum3 = "NO": Exit Function

For i = 1 To n / 3

For j = 1 To i

For k = 1 To j

If (i + j + k) ^ 3 - i ^ 3 - j ^ 3 - k ^ 3 = n Then

s = s + "## " + Str$(i + j + k) + "^3-" + Str$(i) + "^3-" + Str$(j) + "^3-" + Str$(k) + "^3"

End If

Next k

Next j

Next i

If s = "" Then cubossum3 = "NO" Else cubossum3 = s

End Function

 

También en este caso dispondremos de bastantes resultados:



Hemos avanzado en la tabla hasta descubrir soluciones múltiples.

 

Caso general

 Si no nos apetece el estudio algebraico, podemos usar tan solo que las bases sean, en valor absoluto, menores que N/3

Buscaremos tres cubos de base entera cuya suma se aproxime a N. A las tres bases de esa suma le añadiremos otra que con ellas forme suma cero. Si los cuatro cubos suman N, habremos resuelto la búsqueda. Parece lento, pero no es tanto como se podría esperar.

 

Function cubossum0(n)

Dim i, j, k, h

Dim s$

 

s = ""

If n Mod 6 <> 0 Then cubossum0 = "NO": Exit Function

'Usamos tres bucles para las tres primeras bases i, j y k

For i = -n / 3 To n / 3

For j = i To n / 3

For k = j To n / 3

h = -i - j - k 'h será la cuarta base para suma nula

If i ^ 3 + j ^ 3 + k ^ 3 + h ^ 3 = n And h >= k Then 'Se cumple la condición

s = s + "# " + Str$(i) + ", " + Str$(j) + ", " + Str$(k) + ", " + Str$(h)

End If

Next k

Next j

Next i

If s = "" Then cubossum0 = "NO" Else cubossum0 = s

End Function

 Con esta función obtenemos todas las soluciones al problema, las más frecuentes, del tipo de dos cubos positivos y dos negativos, el resto, como el 108, con un solo cubo positivo e, incluso, casos de tres cubos, cuando uno de ellos resulte nulo. Estos son los primeros resultados:

 


Con esto finalizamos las búsquedas

 

martes, 4 de febrero de 2025

Regresos 14 – (1) Bases de tres cubos con suma cero

Hace unos años publiqué en este blog un estudio sobre las sumas de cubos cuyas bases suman cero. Lo restringí a las sumas de tres cubos.

Releyendo la entrada he visto que le sobra mucho material y que algunos aspectos de la cuestión no están bien explicados. Regresamos a ella para completarla y quitarle cuestiones poco interesantes.

Comenzaba así:

Otro estudio más que se basa en mis cálculos en Twitter (@connumeros). El día 22/3/2020 publiqué:

22320 se puede representar mediante dos sumas de cubos cuyas bases suman 0:

22320=(-16)^3+(-15)^3+31^3, con 31+(-15)+(-16)=0

22320 =(-60)^3+(-2)^3+62^3 y 62+(-2)+(-60)=0

No son muchos relativamente los números que cumplen una propiedad similar. Comenzaremos con aquellos que presenten suma de cubos cuyas bases sumen cero al menos una vez. El primero es el 6, que se puede representar como 6=2^3+(-1)^3+(-1)^3, con 2+(-1)+(-1)=0

Función adecuada

Todo el planteamiento del problema se basa en que N sea entero positivo, pues el caso contrario es equivalente en su planteamiento. Para que la suma de bases sea cero y la de cubos positiva deberá existir un cubo positivo y dos negativos, pues en ese caso la base del positivo será la suma de las los negativos, es decir, que el esquema de la suma sería (p+q)^3-p^3-q^3. Cualquier otro planteamiento daría suma no nula o negativa.

Para la búsqueda que sigue es preferible llamar p a la base del cubo positivo y a las negativas -q y –(p-q). Cualquier otra nomenclatura también nos serviría. Así que trabajaremos con el esquema  N=p3-q3-(p-q)3, con p>q

Si partimos de esa igualdad, desarrollando, N=p3-q3-(p3-3p2q+3pq2-q3)=3p2q-3pq2=3pq(p-q). Equivale a afirmar que N es el triple del producto de los valores absolutos de las bases de los cubos

Esta expresión 3pq(p-q) nos servirá para construir una parada en la búsqueda, exigiendo que 3pq(p-q)<=N para cada valor de p y q y que en el caso de la igualdad haga finalizar la búsqueda. Es más rápido así. También nos indica que N ha de ser múltiplo de 6, ya que pq(p-q) es siempre par.

Versión para Excel

La siguiente función actúa sobre un número natural y devuelve una cadena de texto, que puede estar vacía o contener la primera solución que se encuentre. Este es su listado:

Function cubossum(n)
Dim i, j, a
Dim es
Dim s$

If n Mod 6 <> 0 Then cubossum = "": Exit Function ‘Da salida si no es múltiplo de 6
es = False ‘Parará el proceso si se encuentra solución
i = 1  ‘Contador para la variable p
s = ""  ‘Cadena de texto para el resultado
a = 0 ‘Contendrá la suma de cubos
While a <= n And Not es ‘Se para si se llega a n o se encuentra una suma
j = 1 ‘Contador de la variable q
While j < i And Not es
a = 3 * i * j * (i - j) ‘Expresión buscada
If a = n Then es = True: s = s + Str$(j) + Str$(i) ‘Se encuentra solución
j = j + 1
Wend
i = i + 1
Wend
cubossum = s
End Function

Con esta función podemos organizar una búsqueda de aquellos números que presentan la descomposición buscada. Los primeros son:

Cada número encontrado viene acompañado del valor de q y el de p. Así, para 210, q=2 p=7, luego 210 = 73-23-(7-2)3 = 73-23-53 = 343-8-125 = 210

Un listado más completo es

6, 18, 36, 48, 60, 90, 126, 144, 162, 168, 210, 216, 252, 270, 288, 330, 360, 378, 384, 396, 468, 480, 486, 540, 546, 594, 630, 720, 750, 792, 816, 858, 918, 924, 972, 990, 1008, 1026, 1140, 1152, 1170, 1260, 1296, 1344, 1386, 1404, 1518, 1530, 1560, 1620, 1638, 1656, 1680, 1728, 1800…

Hemos publicado esta sucesión en https://oeis.org/A333821

Todo esto se puede traducir al lenguaje PARI:

ok(n) = {my(i=1,a=0,m=0,j);if(n%6==0,while(a<=n&&m==0,j=1;while(j<i&&m==0,a=3*i*j*(i-j);if(a==n,m=1);j+=1);i+=1)); m}

{for(p=1,2000,if(ok(p),print1(p,", ")))}

Si lo pruebas en https://pari.math.u-bordeaux.fr/gp.html obtendrás la lista de los primeros números que cumplen esta descomposición:

6, 18, 36, 48, 60, 90, 126, 144, 162, 168, 210, 216, 252, 270, 288, 330, 360, 378, 384, 396, 468, 480, 486, 540, 546, 594, 630, 720, 750, 792, 816, 858, 918, 924, 972, 990, 1008, 1026, 1140, 1152, 1170, 1260, 1296, 1344, 1386, 1404, 1518, 1530, 1560, 1620, 1638, 1656, 1680, 1728, 1800,…

 

Algoritmo más rápido

En el anterior planteamiento no se aprovecha el hecho de que p, q y p-q son divisores de N/3 y por eso en los bucles de búsqueda se prueban demasiados valores inútiles. En la siguiente versión se consigue más velocidad, y se han añadido al resultado todas las posibilidades de forma más clara, así como el añadido al principio del número de soluciones, Este sería el listado de la nueva función:

Function cubossum2$(n)
Dim p, q, r, m
Dim s$

If n Mod 6 <> 0 Then cubossum2 = "NO": Exit Function
s = " sol: "
m = 0 ‘Nuevo: contador de soluciones
For p = 2 To n / 3
If n / p = n \ p Then ‘Sólo se admite p si es divisor
For q = 1 To p - 1
If n / q = n \ q Then ’ También q ha de ser divisor
r = p – q ‘Tercera base de cubos
‘Prueba para identificar una solución y su incorporación
If n = 3 * p * q * r And r <= q Then m = m + 1: s = s + " # " + ajusta(p) + "^3+(-" + ajusta(q) + ")^3+(-" + Str$(r) + ")^3"
End If
Next q
End If
Next p
s = Str$(m) + s ’Se incorpora el contador de soluciones
cubossum2 = s
End Function

Así quedan las primeras soluciones, con más información que en la función anterior:

 


Ahora se perciben mejor las soluciones múltiples, que serán objeto del siguiente apartado.

Resultados múltiples

Algunos de estos números presentan varias descomposiciones. El primero es 90, que admite las dos sumas 90=5^3-3^3-2^3 y 90=6^3-5^3-1^3. Después le siguen estos:


Si adaptamos a PARI obtenemos un listado más extenso:

90, 630, 720, 1170, 1260, 1386, 2430, 2640, 3024, 3060, 3168, 3366, 3570, 4446, 5040, 5760, 5940, 6210, 6300, 6930, 8910, 9360, 10080, 11088, 11250, 12480, 12870, 12960, 14490, 14742, 16380, 17010, 18018, 18270, 18810, 19440, 19890, 21120, 22140, 22320, 23310, 24192, 24480, 24570, 25344, 25740, 26928, 27360, 27720, 28560, 29700, 30870, 31590, 31920, 34020, 35568, 36630, 37296, 37422, 39330, 40320, 41328, 42120, 42840, 43056, 44460, 45408, 46080, 47250, 47520, 49680,…

Se ha usado el código

ok(n) = {my(p,q,r,m=0);if(n%6==0,for(p=2,n/2,if(n%p==0,for(q=1,p-1,if(n%q==0,r=p-q;if(n==3*p*q*r&&r<=q,m+=1)))))); m}

{for(p=1,30000,h=ok(p);if(h>1,print1(p,", ")))}

Destaca el 720 con tres descomposiciones:

720=10^3-6^3-4^3=12^3-10^3-2^3=16^3-15^3-1^3

El primero con 4 es 19440: 19440=30^3+(-18)^3+(-12)^3=36^3+(-30)^3+(-6)^3=48^3+(-45)^3+(-3)^3=81^3+(-80)^3+(-1)^3

Con cinco hemos obtenido el 55440, equivale a estas sumas:  

55440=42^3+(-22)^3+(-20)^3=44^3+(-30)^3+(-14)^3=55^3+(-48)^3+(-7)^3=70^3+(-66)^3+(-4)^3=80^3+(-77)^3+(-3)^3

Lo dejamos aquí, porque nuestros instrumentos de cálculo se ralentizan con números grandes. En la siguiente entrada estudiaremos el caso de cuatro cubos.

miércoles, 4 de diciembre de 2024

Regresos 12 - El problema del albañil

Este problema consiste en encontrar qué números N poseen un cuadrado N2 que sea suma de cubos consecutivos. Se consideran cubos mayores que 1, pues todos los números triangulares poseen cuadrados que son suma de los primeros cubos, según la conocida fórmula 13+23+33+43+…n3=(n(n+1)/2)2, y se desea eliminar un exceso de casos triviales.

Se exige también que el número de cubos sea al menos de tres. Según la página https://oeis.org/A238099, un ejemplo es el de

312^2 = 97344 = 14^3 + 15^3 + ... + 25^3.

El nombre y las condiciones del problema (por ejemplo, que se use el cuadrado del número) vienen de un ejercicio propuesto en un libro de Dudeney:

H. E. Dudeney, Amusements in Mathematics, Nelson, London, 1917, Problem 135.

Lo podemos consultar en https://archive.org/details/amusementsinmath00dude/page/24/mode/1up?view=theater

Su enunciado es un tanto artificioso, pero sirvió de base para estudiar con más profundidad las sumas de cubos consecutivos. El problema, como vemos, está resuelto, pero aquí estudiaremos los algoritmos que lo pueden resolver en una hoja de cálculo.

Hemos catalogado esta entrada como regreso, porque complementa otra nuestra de 2013, https://hojaynumeros.blogspot.com/2013/04/las-sumas-de-cubos-nos-llevan-los.html

En ella estudiábamos las sumas de cubos consecutivos, pero las derivábamos a otras cuestiones, como las ternas pitagóricas. Nos dedicaremos al problema del albañil, pero podremos referirnos a algún resultado contenido en esa entrada de hace años.

Desde hace un tiempo se prefieren en este blog las funciones que devuelven un texto. Son más explicativas y no dificultan búsquedas posteriores si se saben construir. En este caso del problema del albañil adaptaremos específicamente alguna otra función similar. La que presentamos da las soluciones de sumas de cuadrados sólo cuando se excluye el 1 y se exigen al menos tres sumandos. Su código para Excel y Libreoffice Calc es el siguiente:

Function albanil$(n)
Dim i, j, a, n1
Dim s$
Dim novale As Boolean

s = "" ‘Contenedor de la solución
n1 = n ^ 2 ‘Trabajamos con el cuadrado
i = Int(n1 ^ (1 / 3)) ’Máximo cubo contenido en n^2
novale = True ‘Suponemos que no hay solución
While i > 1 And novale ‘Desciende el mayor cubo hasta 2^3
a = i ^ 3 ‘Primera suma de cubos
j = i’Cubo inicial de la suma
While j > 1 And a <= n1 And novale
‘Se llega a la solución de tres cubos o más
If a = n1 And i - j > 2 Then s = s + "Desde" + Str$(j) + " hasta " + Str$(i): novale = False ‘novale ya no es cierto
j = j – 1’Desciende el primer cubo
a = a + j ^ 3’Se incrementa la suma
Wend
i = i – 1’Desciende el último cubo
Wend
If novale Then s = "NO"
albanil = s
End Function

Con esta función y un buscador podemos reproducir la lista publicada de soluciones:

Estos resultados coinciden con los publicados en https://oeis.org/A238099, luego nuestro primer objetivo está cumplido.

Usamos números triangulares

Recordamos la siguiente equivalencia:

Según ella, una suma de cubos que no comience con 1 será equivalente a una diferencia de los cuadrados de dos números triangulares.

Esto nos permite utilizar la diferencia entre los cuadrados de dos números triangulares para identificar las sumas de cubos. Así obtendríamos una variante alternativa a la vista en anteriores párrafos.

Para encontrar los dos números triangulares basta descomponer N en productos de suma por diferencia de dos números, ya que eso equivale a una diferencia de cuadrados. Una vez obtenidos se les exige que sean triangulares y que sus órdenes se diferencien en más de 3 unidades.

Descomponemos N en productos de la misma paridad, N=pq y después definimos a=(p+q)/2 y b=(p-q)/2, con lo que tendríamos los posibles triangulares. Es una técnica que hemos usado a menudo. Después analizamos si son triangulares con las funciones estriangular y ordentriang, muy usadas en este blog.

Function estriangular(n) As Boolean
Dim a
a = Int((Sqr(8 * n + 1) - 1) / 2)
If a * (a + 1) = 2 * n Then estriangular = True Else estriangular = False
End Function

Public Function ordentriang(n)
Dim k
If estriangular(n) Then k = Int((Sqr(8 * n + 1) - 1) / 2) Else k = 0
ordentriang = k
End Function

El código de esta función es:

Function albanil2$(n)
Dim i, j, p, q, a, b, n1
Dim s$
Dim novale As Boolean

s = "" ‘Contenedor de la solución
n1 = n ^ 2 ’Trabajamos con el cuadrado
i = 1 ‘Primer divisor
novale = True
While i <= n And novale
If n1 / i = n1 \ i Then ‘Es divisor
j = n1 / i ‘Divisor complementario
If (j - i) Mod 2 = 0 Then ‘Tienen la misma paridad los factores
p = (i + j) / 2: q = (j - i) / 2 ‘Vamos construyendo la diferencia de cuadrados
If estriangular(p) And estriangular(q) Then
a = ordentriang(p): b = ordentriang(q) ‘Son ambos triangulares
If a - b > 3 And b > 1 Then s = s + "Desde" + Str$(b + 1) + " hasta " + Str$(a): novale = False
End If
End If
End If
i = i + 1
Wend
If novale Then s = "NO"
albanil2 = s
End Function

En la entrada a la que regresamos hoy se termina considerando que los dos triangulares de la diferencia de cuadrados y el número N estudiado forman una terna pitagórica, pero este tema es preferible leerlo en la entrada original.

Con esto cumplimos nuestro objetivo, que era sólo algorítmico.

lunes, 11 de marzo de 2024

Primos cubanos

Se llaman así (Cunningham (1923)) aquellos números primos que son iguales a una diferencia de cubos consecutivos. Lo de “cubano” viene de cubo, no de Cuba. No es un nombre afortunado, pero así quedó. Al ser los cubos consecutivos, se da por supuesto que X es entero.

No es que sean muy interesantes, pero nos permitirán analizar su búsqueda y estudiar variantes de la definición.

Búsqueda directa

Si creamos una columna de números consecutivos, los elevamos al cubo y restamos, si poseemos una función ESPRIMO o ISPRIME, será fácil identificar los primos cubanos. Esta función la puedes consultar en varias entradas de nuestro blog, como, por ejemplo en https://hojaynumeros.blogspot.com/2016/05/palprimos-primos-palindromicos.html

El esquema quedaría así:


En la última columna hemos escrito fórmulas del tipo =SI(ESPRIMO(I4);"Cubano";"")

Si es primo aparecerá la frase “Cubano” y si no, quedará en blanco.

Observamos que los primeros primos cubanos son 7, 19, 37, 61, 127, 271, 331, 397, 547, 631, 919, 1657.

Desarrollo algebraico

Al desarrollar la definición, nos damos cuenta de que el tema es de tipo elemental:

N=(x+1)3-x3=3x2+3x+1

Esto nos lleva a una ecuación de segundo grado:

3x2+3x-(N-1)=0

Para que tenga solución entera, el discriminante, que es fácil ver que equivale a 12N-3, ha de ser cuadrado. De esta forma tendremos el valor de x:

Con este breve estudio tenemos ya forma de encontrar y analizar los primos cubanos. Comenzamos con nuestro Buscador de Naturales (http://www.hojamat.es/sindecimales/divisibilidad/herramientas/herrdiv.htm#buscador)

Es interesante explicar las condiciones: En primer lugar exigimos que el número sea primo, después, que sea igual a una expresión cuadrática de coeficientes 3, 3 y 1 (3X2+3X+1), y, por último, encontramos el valor de X y lo situamos en la segunda columna con la orden EVALUAR.

En PARI es muy fácil también encontrar estos números. Nos basaremos en la condición de que 12N-3 sea cuadrada, y quedará:

is(n)=isprime(n)&&issquare(12*n-3)
For(i=1,1000,if(is(i) ,print1(i,”, “)))

Lo hemos comprobado en la web oficial de PARI, https://pari.math.u-bordeaux.fr/gp.html

Están publicados en https://oeis.org/A002407

A002407    Cuban primes: primes which are the difference of two consecutive cubes.

7, 19, 37, 61, 127, 271, 331, 397, 547, 631, 919, 1657, 1801, 1951, 2269, 2437, 2791, 3169, 3571, 4219, 4447, 5167, 5419, …

Carácter poligonal

La expresión N=3X2+3X+1 se puede escribir como 6(X(X+1)/2)+1=6Tx+1, es decir, como seis veces un número triangular ´más una unidad, pero esa es la estructura de los números hexagonales centrados. Basta estudiar esta imagen de la Wikipedia para entenderlo

(https://en.wikipedia.org/wiki/Centered_hexagonal_number#:~:text=The%20sequence%20of%20hexagonal%20numbers,%2C%20721%2C%20817%2C%20919. )

Si consultas el listado de estos números hexagonales centrados, observarás que nuestros primos cubanos están incluidos.

A003215              Hex (or centered hexagonal) numbers: 3*n*(n+1)+1 (crystal ball sequence for hexagonal lattice).

1, 7, 19, 37, 61, 91, 127, 169, 217, 271, 331, 397, 469, 547, 631, 721, 817, 919, 1027, 1141, 1261, 1387, 1519, 1657, 1801, 1951, 2107,…

La expresión N=3X(X+1)+1 también sugiere que equivalen a la unidad más tres veces un número oblongo, del tipo N(N+1). Así, 61 se puede representar como tres rectángulos apilados de dimensiones 4 por 5, más una unidad.

Por otra parte, el primer sumando,

Búsqueda directa del valor de X+1

Podemos dar protagonismo al valor de X+1, base del cubo mayor. En este caso bastaría exigir que fuera primo (X+1)3-X3. Es simple buscar esos valores. Cambiarían de columna en Excel respecto a la búsqueda anterior:


 Hemos llamado N a X+1. Lo hemos decidido así porque los valores de X+1 están publicados en https://oeis.org/A002504:

A002504              Numbers x such that 1 + 3*x*(x-1) is a ("cuban") prime (cf. A002407).

2, 3, 4, 5, 7, 10, 11, 12, 14, 15, 18, 24, 25, 26, 28, 29, 31, 33, 35, 38, 39, 42, 43, 46, 49, 50, 53, 56, 59, 63, 64,…

Se podría pensar en generalizar esta cuestión planteando que la diferencia entre las bases sea un número k mayor que 1, pero en ese caso la diferencia entre cubos sería múltiplo de k y no podría ser primo. Así que la única diferencia entre cubos que puede ser prima es la que existe entre consecutivos.