miércoles, 3 de diciembre de 2025

Un número como diferencia entre potencias (2)

En la anterior entrada sobre este tema se usó la descomposición en factores primos de un número. Esto supone declarar los vectores primo() y expo() de forma global y puede resultar un poco técnico. En esta segunda entrada consideraré otras alternativas.

Si no te quieres complicar con factores primos, puedes usar esta función, que te da las primeras soluciones y resulta rápida:

Function dospoten$(n)

 

Dim i, p, q, a, b, c, x

Dim s$

 

s$ = ""

x = n

For p = 2 To 12 ‘Se buscan potencias de exponentes del 2 al 12.Esto se puede cambiar

a = Int(x ^ (1 / p)) + 1 ‘Posible raíz p-nésima

For i = a To 10 * a

b = i ^ p – n ‘Se halla la diferencia con N

For q = 2 To 20

c = Int(b ^ (1 / q) + 0.000001) ‘Se identifica como potencia

If c ^ q = b Then ‘Si todo va bien, se publica

s$ = s$ + "# " + ajusta(i) + "^" + ajusta(p) + "-" + ajusta(c) + "^" + ajusta(q) ‘Si no se cuenta con la función AJUSTA, se puede usar Str$

End If

Next q

Next i

Next p

If s = "" Then s = "NO"

dospoten = s$ ‘Publica la lista de diferencias de potencias

End Function

Con alguna limitación, es útil, y yo la uso en mis cálculos diarios. Puede que no llegue a alguna solución, pero suele funcionar bien.

Unos ejemplos:

60=8^2-2^2# 16^2-14^2# 4^3-2^2# 4^4-14^2# 2^6-2^2# 2^8-14^2

112=# 11^2-3^2# 12^2-2^5# 16^2-12^2# 29^2-27^2# 29^2-9^3# 29^2-3^6# 8^3-20^2# 4^4-12^2# 2^7-4^2# 2^7-2^4# 2^8-12^2# 2^9-20^2# 2^11-44^2

13# 7^2-6^2# 16^2-3^5# 17^3-70^2# 4^4-3^5# 2^8-3^5


Uso de la herramienta CARTESIUS

Mi máquina de construir productos cartesianos condicionados también nos puede ayudar a encontrar diferencias de potencias dentro de un nivel elemental. En ella se puede exigir que las columnas a combinar sean potencias, lo que facilita su uso en esta cuestión. La puedes descargar desde

https://www.hojamat.es/sindecimales/combinatoria/herramientas/herrcomb.htm#cartesius

El problema es que la actualizo a veces, pero no la versión publicada, pero aquí valdrá.

La programación de esta búsqueda sería esta, concretada para el número 28:

xtotal=2

xt=1..100

xt=etiq(potencia)

ES x1-x2=28

 

Declara que se combinarán dos columnas (X1 y X2)

En ellas se escribirán 100 datos (pueden ser más a costa del tiempo de proceso)

Cada columna contendrá las primeras potencias.

Se deberá cumplir que X1 menos X2 sea 28 (esto es un ejemplo)

Al pulsar sobre el botón Iniciar se construirán las columnas de potencias:



En la siguiente página Producto obtendremos las primeras diferencias de potencias que equivalen a 28.

 

Esto es un simple complemento, para comprobar otros resultados y para conocer una posibilidad alternativa. No tiene más importancia.

Esta sería la solución para 28 con las anteriores herramientas:

# 6^2-2^3# 8^2-6^2# 4^3-6^2# 8^3-22^2# 37^3-225^2# 37^3-15^4# 2^5-2^2# 2^6-6^2# 2^7-10^2# 2^9-22^2

Las soluciones de Cartesius están contenidas en esta lista.


Uso del Buscador de Naturales

Mi herramienta Buscador de Naturales posee la función POTENCIA, tanto de forma booleana, como True o False como actuando sobre un parámetro. Esto nos permite plantear una búsqueda de diferencia de potencias de forma sencilla. Basta condicionar N a que sea potencia y después volverla a usar pero con parámetro N+K.

Lo vemos más claramente con el número 24 como ejemplo:


Las condiciones han sido:

POTENCIA: Busca los números que son potencias

ES POTENCIA(N+24): La partícula ES anuncia que se exigirá una condición complementaria mediante expresiones o funciones. Aquí es que N+24 sea también potencia.

EVALUAR: Indica qué se escribirá en la segunda columna. Aquí hemos pedido que sea N, una coma, y N+24

Puedes descargar esta herramienta desde

https://www.hojamat.es/sindecimales/divisibilidad/herramientas/herrdiv.htm#buscador

No resulta muy lento. Le hemos exigido tratar el 28 hasta un tope de 20000 y no ha tardado demasiado:


Coincide con anteriores planteamientos:

28 =2^5-2^2=6^2-2^3=2^6-6^2=2^7-10^2=2^9-22^2

Se han creado dos columnas que después se pueden copiar en otra parte de Excel y añadirles detalles:


Despedida simplista

¿No queremos seguir con algoritmos? Pues podemos construir una tabla de doble entrada en la que figuren las potencias ordenadas tanto en filas como en columnas, y usar las búsquedas de Excel para localizar el número deseado. Se podía comenzar el tema por aquí, y el trabajo pesado que da puede justificar el pensar en algoritmos.

Aquí se pueden localizar algunos de los ejemplos que se han usado. Los he destacado en rojo:


No hay comentarios: