jueves, 27 de marzo de 2025

Bases, índices y resultados simétricos

Es ya muy popular la propiedad del “primo de Sheldon”, de la serie televisiva “Big Bang Theory”, y es que 73 es un número primo, y si invertimos sus cifras, 37 también es primo. A esto se le une que 73 es el primo número 21 y 37 es el número 12. Es decir, dos números de un tipo son simétricos y sus índices, bases u órdenes también lo son.

Hemos usado la propiedad de ser primo, pero en los cuadrados abundan ejemplos similares. Así, 12 y 21 son simétricos y sus cuadrados, 144 y 441, también. Un ejemplo más difícil de encontrar es el de números triangulares: El triangular de orden 24662 es 304119453 y el de orden simétrico 26642  es su simétrico 354911403. No se encuentra un ejemplo más pequeño, salvo con números capicúas.

En estas búsquedas, a fin de evitar trivialidades, descartaremos los números capicúas o palindrómicos. En los cálculos a efectuar será muy útil la función CIFRAINVER, explicada en la entrada

https://hojaynumeros.blogspot.com/2022/04/relaciones-entre-numeros-con-cifras.html

Las búsquedas que se efectúen aquí serán complementos de algunas contenidas en esa entrada.

Búsqueda con números primos

El ejemplo del 37 y el 73 se puede extender a otros primos. Bastará con exigir que sean simétricos y que sus números de orden también lo sean. Necesitaremos la función PRIME(N), que no está implementada en hojas de cálculo. Se puede sustituir por nuestra PRIMNUM(N), que devuelve el primo número N:

Public Function primnum(n)
Dim p, c, i

 c = 0: i = 2
While c < n
If esprimo(i) Then c = c + 1: p = i
i = i + 1
Wend
primnum = p
End Function

Usa nuestra función ESPRIMO, muy usada en este blog.

Con ellas basta buscar que

m=cifrainver(n) and primnum(m)=cifrainver(primnum(n))

El resultado será que 73 y 37 son los únicos resultados a nivel elemental. Si se añade la propiedad de que 7*3=21, se ha demostrado que no existen más ejemplos.

Búsqueda con cuadrados

Aquí la condición para Excel y Calc sería

m=cifrainver(n) and m^2=cifrainver(n^2)

El resultado, bastante conocido es



La columna de cuadrados está publicada en https://oeis.org/A064021

Para quienes quieran reproducir la búsqueda sin usar funciones especiales, se adjunta a continuación un código en PARI:

ok(m,n)=n==eval(concat(Vecrev(Str(m))))&&n^2==eval(concat(Vecrev(Str(m^2))))&&n%10<>0&&m%10<>0
for(i=2,300,for(j=2,i-1,if(ok(i,j),print(i,", ",i^2,", ",j,", ",j^2))))

Está preparado para buscar hasta 300, dato que se puede cambiar sin problemas. Su resultado sería similar al anterior:

 


Números triangulares

Ya se anunció al principio que estos ejemplos son escasos. Bastará cambiar en las funciones la expresión m^2 por m*(m+1)/2 y al igual con n.

Efectuada la búsqueda, el único par encontrado, inferior a 10^5 es el referido:


Al mismo resultado se llega con PARI:

En OEIS, https://oeis.org/A279084, están publicados los resultados sin desechar los capicúas.

Otros tipos

Con números oblongos, tipo N(N+1), no se han encontrado ejemplos a nivel elemental, y tampoco para pentagonales.

Para cubos, existen ejemplos, pero en algunos de ellos el número de cifras es alto, y hay que acudir a PARI:


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

Por último, al probar con cuadrados de primos, se obtienen bastantes resultados entre los primeros números:


No parece que estén publicados. El autor no lo hará.

 

jueves, 20 de marzo de 2025

Números de Lösch

Estos números son aquellos que se pueden representar como

N=x2+xy+y2, con x  e y números enteros. Como X e Y pueden tener distinto signo, una definición alternativa es la de pueden escribirse como N=x2-xy+y2.

Aparecen como las normas de los números enteros de Eisenstein, pero no seguiremos por ahí porque es un tema de números complejos. Estos números son cerrados para la operación de multiplicar, por lo que si m y n pertenecen a este tipo, también lo serán mn, mk y nk.

Al poder ser x o y iguales a cero, estos números presentarán algunos subtipos. Por ejemplo, entre ellos estarán el cero y todos los cuadrados enteros, si elegimos y=0 o y=-x. Esto demuestra que existen infinitos números de este tipo.

Todos son positivos o nulos, porque N se puede escribir de esta otra forma (Zak Seidov, Jan 20 2009), que es evidentemente positiva o nula:

N=(y+x/2)2+3*(x/2)2=y2+xy+x2/4+3x2/4=x2+xy+y2

Podemos buscarlos con una función muy sencilla:

Function tipolosch(n)
Dim x, y, a As Integer
Dim s$

s = "" ‘Contenedor de valores de X e Y
a = Sqr(n)’Cota para X e Y
For x = -a To a ‘Bucle para X
For y = -a To a ‘Bucle para Y
If x ^ 2 + x * y + y ^ 2 = n Then ‘Condición a cumplir
s = s + " # X=" + Str$(x) + " Y=" + Str$(y) ‘Nueva solución
End If
Next y
Next x
If s = "" Then s = "NO"
tipolosch = s
End Function

Con esta función detectamos en un buscador los números que permiten valores enteros para X e Y, y que, por tanto son Lösch. Al intentarlo vemos, por una parte que son frecuentes y, por otra, que las soluciones aparecen en conjuntos equivalentes (salvo los signos) que complican un poco la visión del resultado:


Observamos que las soluciones no caben en la imagen a veces, pero que son parecidas. Esta función es buena para descubrir muchas posibilidades para pocos números. Si sólo nos interesa saber si un número es de Lösch o no, es preferible esta otra, que detiene el proceso cuando se detecta una solución:

Function tipolosch2(n)
Dim x, y, a As Integer
Dim s$
Dim noes As Boolean

s = ""
a = Sqr(n)
x = -a
noes = True ‘Introducimos esta variable de detención
While x <= a And noes ’Sustituimos FOR-NEST por WHILE-WEND
y = -a
While y <= a And noes
If x ^ 2 + x * y + y ^ 2 = n Then
noes = False ‘Solución y parada
s = s + " # X=" + Str$(x) + " Y=" + Str$(y)
End If
y = y + 1
Wend
x = x + 1
Wend
If s = "" Then s = "NO"
tipolosch2 = s
End Function

De esta forma queda una tabla con menos información y más clara. Estos son los primeros números de este tipo:


Estos valores están publicados en
https://oeis.org/A003136

Se razona fácilmente que entre ellos el 75% serán impares y el 25% pares, porque esta posibilidad necesita que ambos, x e y sean pares.

Casos particulares

Si X=Y, la expresión de estos números es sumamente sencilla, pues equivale a 3K2 y, en efecto, pertenecen a este tipo, 3, 12, 27, 48,…como se puede comprobar en las tablas que hemos insertado. Por la propiedad multiplicativa, también pertenecerán a este tipo los de la forma 3hk2, como el 36

Otro caso interesante se produce cuando Y=1, ya que el número quedaría como X2+X+1=(X+1)2-X y crearía la subsucesión 3, 7, 13, 21, 31, 43, 57, 73,…En https://oeis.org/A353887 están publicados los que son libres de cuadrados, y se afirma que la sucesión es infinita.

Si tomamos Y=-1 nos resultan números poligonales, que no estudiaremos por la extensión de sus propiedades, aunque sea un tema importante en este blog. Puedes consultar https://oeis.org/A002061

  

lunes, 10 de marzo de 2025

Tres potencias enteras no negativas

En el desarrollo de mis cálculos sobre el año 2025 llegué a esta identidad:

20252=364+185+96

Al releerla se me ocurrió averiguar qué números admiten una descomposición en tres potencias enteras no negativas (admitiendo el 1 y el 0) y cuáles no. Por ejemplo, 72 se puede descomponer de seis formas:

72=25+25+23=62+33+32=62+25+22=62+62+01=26+22+22=26+23+01

Es evidente que el cero figura para poder considerar también las sumas de dos potencias, como 72=26+23, o de una para los números que sean potencias perfectas.

Otros números, como 7 y 23 no admiten esta descomposición. En unas primeras búsquedas se puede sospechar que estos números son más escasos. Lo iremos viendo.

Búsqueda de soluciones

Esta búsqueda no supone ninguna complicación. Se resuelve con dos bucles, uno para la primera potencia y otro para la segunda, porque la tercera se encuentra restando.

Hemos usado una función para Excel, siguiendo el espíritu de este blog, pero usa una función propia, ESPOTENCIA 

(ver https://hojaynumeros.blogspot.com/2022/04/numeros-consecutivos-con-una-suma-del.html). 

También sustituye la función STR$ por la función AJUSTA, que funciona mejor. No obstante se incluirá su código aquí, porque a continuación se traducirá a PARI, con lo que todos los lectores podrán experimentar con ella.

Function trespotencias$(n)
Dim i, j, k, p1, p2, p3, m
Dim s$ 

s = "" ’Contenedor de la solución
m = 0 ’Contador de soluciones
For i = 0 To n ‘Bucle para la primera potencia
p1 = espotencia(i) ‘Devuelve el exponente
If p1 > 0 Then
For j = 0 To i ‘Bucle para la segunda potencia
p2 = espotencia(j)
If p2 > 0 Then
k = n - i – j ‘Tercera potencia
p3 = espotencia(k)
If k <= j And p3 > 0 And k >= 0 Then
 ‘Los tres sumandos son potencias. Lo que sigue construye la solución
m = m + 1
s = s + " ## " + ajusta(Int(i ^ (1 / p1) + 0.000001)) + "^" + ajusta(p1) + "+"
s = s + ajusta(Int(j ^ (1 / p2) + 0.000001)) + "^" + ajusta(p2) + "+"
s = s + ajusta(Int(k ^ (1 / p3) + 0.000001)) + "^" + ajusta(p3)
End If
End If
Next j
End If
Next i
If s = "" Then s = "NO" Else s = ajusta(m) + " : " + s
trespotencias = s
End Function

 Con esta función podemos descomponer los primeros números:

Observamos que el 7 no admite esta descomposición.

Tal como el autor esperaba, al llegar a números mayores se incrementa el número de soluciones:

Volvemos a encontrar un número que no presenta soluciones, el 87. De hecho, experimentalmente van desapareciendo estos números sin solución. Estos son los primeros:

Están publicados en https://oeis.org/A113505 y al llegar al número  26375 se puede conjeturar que es posible que no aparezcan más. Suele ocurrir en casos similares.

A113505

Numbers not the sum of at most three perfect powers (A001597).

7, 15, 23, 87, 111, 119, 167, 335, 1391, 1455, 1607, 1679, 1991, 25887, 26375

a(16), if it exists, is larger than 10^8. - Giovanni Resta, May 07 2017

Para los lectores que deseen experimentar, se incluye nuestra versión en PARI.

u=100;for(i=0,u,if(ispower(i)||i<2,for(j=0,i,if((ispower(j)||j<2)&&(ispower(u-i-j)||u-i-j<2)&&j>u-i-j&&u-i-j>=0,print(i,", ",j,", ",u-i-j)))))

La variable u se rellena con el número a descomponer, en el ejemplo, 100

Observamos que admite tres sumas con sumandos que son potencias.

La siguiente imagen recoge parte del resultado para el año 2025:

La abundancia de resultados reafirma la sospecha de que los elementos sin solución serán limitados.

Estudio con nuestra herramienta Cartesius

Esta hoja de Excel, “Cartesius”, permite combinar muchas posibilidades, y resulta adecuada para esta cuestión. Se puede programar con estas condiciones:

Se interpretan como que buscamos tríos de potencias con suma 2025. Se consigue el resultado siguiente, compuesto por 28 resultados:

 


Tal como se sugirió al principio, esta búsqueda no es complicada, y produce un incremento tan grande de resultados que es razonable la conjetura de que a partir de cierto número, todos los enteros presentarán esta descomposición.

 

 


viernes, 28 de febrero de 2025

Diferencia de potencias con la misma base es un cuadrado

Existen muchos números con la propiedad de que dos potencias sucesivas de los mismos se diferencian en un cuadrado. Por ejemplo, 

2611- 2610=594068802, o 55- 54=502

Parece un problema complicado, pero no lo es, como veremos.

La propiedad que buscamos se puede expresar como Nk+1=Nk+m2, o bien

Nk(N-1)=m2

Para que se cumpla esto es necesario que  la potencia tenga exponente par y que N-1 sea cuadrado, por ser N y N-1 primos entre sí, lo que no permite construir un cuadrado entre ambos. Es la única forma de que la diferencia de potencias sea cuadrada, y en ellas, la menor ha de ser par y la mayor impar. Es muy sencillo razonar que la condición también es suficiente. Por tanto:

El conjunto de números que cumplen la condición pedida coincide con los que son del tipo n2+1

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

Los hemos estudiado en dos entradas de este blog:

https://hojaynumeros.blogspot.com/2022/10/regresos-5-un-cuadrado-y-una-unidad-1.html y la siguiente, así como en otra más antigua.

En la siguiente tabla figuran las primeras soluciones al problema. La primera columna es la lista de las bases (números tipo n2+1) y en la segunda las soluciones de diferencias de potencias. En primer lugar figura la potencia mayor (k+1) y después la base del cuadrado que es diferencia entre las potencias. Como era de esperar, se obtienen infinitas soluciones (todas las potencias impares de exponente k+1)

 


Por ejemplo, 827-826=49623122

Esta lista se puede construir con nuestro Buscador de Naturales (https://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#buscador) aprovechando que N2(N-1) ha de ser cuadrado, como caso particular de la identidad previa:


Se observa que en la segunda columna figuran las raíces de la diferencia de potencias, y todas son enteras.

Según la entrada nuestra sobre este tema, estos números no pueden tener factores primos p que no admitan -1 como resto cuadrático módulo p. Son estos:

3, 7, 11, 13, 19, 23, 29, 31, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 103, 107, 109, 113, 127,…

Esta exigencia no actúa sobre el cuadrado diferencia, ya que este puede poseer factores primos de N-1, según la primera identidad de esta entrada. Por ejemplo, el primer cuadrado de la tabla, 222, es múltiplo de 3, y 520 lo es de 13.

En realidad, m2 puede poseer los factores primos de N y también de N-1. Por ejemplo, para N=82, el cuadrado correspondiente, 738, se descompone como 2*32*41. Entre ellos, 2 y 41 son divisores de 82 y 32 lo es de 82-1=34

Caso particular

Un caso interesante es el de las potencias cubo y cuadrado, pues resulta del mismo la descomposición de un cubo en dos cuadrados.

Por ejemplo, para N=65, se cumplirá

653=652+5202

Más particular

En el caso de que un término de la lista sea del tipo 4n2+1, obtendríamos más cuadrados. Por ejemplo,

37^3=12^2+35^2+222^2

Obtendríamos una descomposición de un cubo en tres cuadrados.

 

 

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.