jueves, 3 de abril de 2025

Bases, índices y resultados anagramáticos

En la entrada anterior se buscaron números con cifras simétricas, en los que bases, índices u órdenes también fueran simétricos, como los cubos 1334633301=1101^3 y 1033364331=1011^3, que son simétricos y también sus bases.

Ahora ampliaremos las condiciones y, en lugar de exigir simetría, buscaremos números anagramáticos (con las mismas cifras). Un ejemplo sería el par de cuadrados 1302=16900 y 3102=96100. No son simétricos en sus cifras, pero sí poseen las mismas.

Si en la anterior búsqueda se usaba la función propia de este blog CIFRAINVER, en esta nueva será útil CIFRAS_IDENTICAS, que determina si dos números poseen las mismas cifras con frecuencias idénticas, de forma que los repetidos en uno también lo estén en el otro. Se puede estudiar su codificación en la entrada de este blog https://hojaynumeros.blogspot.com/2020/11/consecutivos-con-las-mismas-cifras.html.

En el caso de las cifras simétricas, cada número sólo se podía corresponder con su simétrico, pero en este caso pueden existir múltiples soluciones anagramáticas, por lo que deberemos introducir un contador de soluciones.

Usaremos la función ANA_ANA para investigar este caso:

Function ana_ana$(n)
Dim i, m
Dim s$

s = ""  ‘Contenedor de soluciones
m = 0  ’Contador
For i = 1 To n – 1 ‘Aquí usamos la función para cubos
If cifras_identicas(n, i) And cifras_identicas(n ^ 3, i ^ 3) Then m = m + 1: s = s + " # " + Str$(i) ‘Si son anagramáticos, se publica
Next i
If s = "" Then s = "NO" Else s = ajusta(m) + " # " + s
ana_ana = s
End Function

Esta función, tal como está, busca el caso de cubos anagramáticos. Un sencillo cambio en la línea que contiene la función CIFRAS_IDENTICAS la habilita para otros casos. El resultado es:

 


Observamos que el número 1100 presenta dos soluciones. Es posible que esta sucesión no esté publicada.

Caso de cuadrados

Si cambiamos los cubos por cuadrados en la función ANA_ANA obtenemos

 


Como ocurre con otros tipos, aquí pueden aparecer varias soluciones, como en 210 y 310. Es que la condición de igualdad de cifras es menos restrictiva que la de simetría.

Números primos

En el caso de los números primos bastará incluir en la función ANA_ANA la función PRIMNUM(N) o PRIME(N). Resultan bastantes ejemplos por rango, siendo el primero el par (37, 73) de Sheldon, que ya estudiamos en la entrada anterior. Lo que ocurre ahora es que, al ser la condición menos exigente, se obtienen más resultados. En hoja de cálculo el proceso se hace lento, pero en PARI la velocidad de proceso es aceptable.

La siguiente tabla se ha confeccionado con los resultados de PARI. Se han ordenado de esta forma: Índice 1, Primo 1, Índice 2, Primo 2.

I1,   P1,   I2,   P2

21, 73, 12, 37
163, 967, 136, 769
423, 2927, 342, 2297
474, 3361, 447, 3163
821, 6311, 218, 1361
823, 6323, 382, 2633
921, 7211, 912, 7121
1053, 8423, 1035, 8243
1642, 13901, 1426, 11903
1765, 15107, 1756, 15017

En el lenguaje PARI es muy sencillo detectar números anagramáticos.

Basta exigir vecsort(digits(m))==vecsort(digits(n)), de fácil comprensión: “Si ordenamos las cifras de ambos números nos resulta el mismo vector”.

Con este código se obtienen resultados fácilmente en la web de PARI

ok(m,n)=vecsort(digits(m))==vecsort(digits(n))&&vecsort(digits(prime(n)))==vecsort(digits(prime(m)))&&n%10<>0&&m%10<>0
for(i=2,2000,for(j=2,i-1,if(ok(i,j),print(i,", ",prime(i),", ",j,", ",prime(j)))))

 


Números triangulares

En el caso de soluciones simétricas no era fácil encontrar un ejemplo con números triangulares. Veamos si sólo buscamos anagramáticos. Usaremos la fórmula de los triangulares, N(N+1)/2.

Tal como era de esperar, aparecen muchas más soluciones. Estas son las primeras:


Con estos ejemplos ya estamos preparados para emprender otras búsquedas, como oblongos, de Fibonacci, potencias enteras y otros más que se nos ocurran.

 

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