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

viernes, 6 de febrero de 2026

El catering perezoso

El título es libre traducción de la sucesión “Lazy Caterer's Sequence” publicada en https://oeis.org/A000124 con el título Central polygonal numbers, que se refiere al máximo número de porciones que se puede obtener en una tarta si la sometemos a n cortes. Su referencia a los números de Hogben, ya tratados en este blog

(https://hojaynumeros.blogspot.com/2021/11/numeros-de-hogben.html)

 me ha llevado a estudiarla, sólo en los aspectos que trata normalmente este blog.

Fórmula de la sucesión

Si solo nos interesan los números máximos de piezas resultantes, deberemos suponer que cada corte posee intersección con todos los anteriores, evitando paralelismos, por lo que se cumplirá que c(n+1)=c(n)+n. Como c(1)=2, ya que el primer corte produce dos piezas, es fácil ver que la sucesión será: 2, 2+2,2+2+3, 2+2+3+4 ,… pero en OEIS se considera siempre c(0), que aquí sería 1 (ningún corte), por lo que resultaría al final 1, 2, 4, 7, 11, 16, …, que es la publicada.

El hecho de que la suma de los primeros números naturales sea un número triangular, n(n+1)/2, nos da directamente la fórmula de estos números:

En la imagen vemos la generación de c(4), porque de los tres cortes existentes, el cuarto produce 4 nuevos, y el resultado es 4*5/2+1=11

Si la fórmula de c(n) es n(n+1)/2+1, la de c(n-1) será, desarrollando (n2-n+2)/2, y podemos identificar el numerador con un número de Hogben aumentado en una unidad. Esto relaciona las dos sucesiones, pues si añadimos una unidad a la Hogben y dividimos entre 2 nos resulta la que estamos estudiando.

Si emparejamos índices, se comprueba esta relación:

Hogben:             1, 1, 3, 7, 13, 21, 31, 43,  57, 73, 91

Lazy Caterer's:       1, 2, 4,  7,  11, 16,  22,  29, 37, 46

(13+1)/2=7, (21+1)/2=11,  (31+1)/2=16, …

Los números de Hogben, según es fácil de demostrar, se generan con la recurrencia h(n+1)=h(n)+2n, ajustando bien el índice inicial. Es otra forma de razonar la relación entre las dos sucesiones.

Si repasamos mi estudio de estos números, podemos descubrir que los c(n) son la cuarta parte de la suma de dos de h(n)  diferenciados en dos órdenes:

2=(1+7)/4, 4=(13+3)/4, 7=(21+7)/4, 11=(31+13)/4, …

Los primeros términos de la sucesión c(n) son:

1, 2, 4, 7, 11, 16, 22, 29, 37, 46, 56, 67, 79, 92, 106, 121, 137, 154, 172, 191, 211, 232, 254, 277, 301, 326, 352, 379, …

https://oeis.org/A000124

Basta aplicar la formula a los primeros números naturales para conseguirla.

Algunas curiosidades

En la página citada se proponen varias propiedades y curiosidades, pero sin desarrollar. Estudiaremos algunas.

Todo proceso en el que el término enésimo produzca el siguiente al sumarle n puede interpretarse como número del tipo C(n).

Un ejemplo que se propone que el de contar los términos de la expresión (x+y)*(x2+y2)*(x3+y3)*...*(xn+yn).

For n >= 1 a(n) is the number of terms in the expansion of (x+y)*(x^2+y^2)*(x^3+y^3)*...*(x^n+y^n). - Yuval Dekel (dekelyuval(AT)hotmail.com), Jul 28 2003

La justificación es la siguiente: Los primeros términos la cumplen, porque c(0)=1, c(1)=2 y c(2)=4, como fácilmente se comprueba. Los siguientes deberán incrementar los términos en n elementos, porque, por ejemplo, la expresión segunda x3+x2y+xy2+y3 se convertiría en x3*(x3+x2y+xy2+y3)+y3*(x3+x2y+xy2+y3), aparentemente ocho términos, pero se pierde uno al sumar los dos términos del tipo x3y3, con lo que se suman sólo tres términos, quedando 7, que es c(3). Lo vemos con wxMaxima:

         ratsimp((x+y)*(x^2+y^2)*(x^3+y^3));

     y^6+x*y^5+x^2*y^4+2*x^3*y^3+x^4*y^2+x^5*y+x^6

Siete términos, c(3)=7

Se razonaría de igual forma para grado 4. Lo comprobamos:

         ratsimp((x+y)*(x^2+y^2)*(x^3+y^3)*(x^4+y^4));

y^10+x*y^9+x^2*y^8+2*x^3*y^7+2*x^4*y^6+2*x^5*y^5+2*x^6*y^4+2*x^7*y^3+x^8*y^2+x^9*y+x^10

Once términos, c(4)=11

Otra forma de ver las curiosidades es la relación con técnicas de elegir dos elementos en un conjunto. La propuesta de nuestro compatriota Arregui aprovecha ese detalle:

Number of interval subsets of {1, 2, 3, ..., n} (cf. A002662). - Jose Luis Arregui (arregui(AT)unizar.es), Jun 27 2006

Para fijar un intervalo en el conjunto {1, 2, 3, ..., n} bastará elegir un inicio y un final, pero existen n(n-1)/2 formas de efectuar la elección, y añadimos el intervalo vacío, obtendremos los términos C(n). Por ejemplo, {1} sólo posee el intervalo vacío (), {1, 2} los intervalos (), (1,2), (2,3), (1,3), que son c(2)=4,  {1, 2, 3} tendría estos: intervalos (), (1,2), (2,3), (1,3) (1,4), (2,4), (3,4), en total c(3)=7.

Cualquier otro proceso de este tipo, ajustando los índices, se puede representar con los números c(n)

Termino con dos propiedades triviales:

Numbers m such that 8m - 7 is a square. - Bruce J. Nicholson, Jul 24 2017

En efecto, si T(n) es triangular, 8T(n)+1 es un cuadrado, según una popular propiedad, luego 8C(n)-7=8T(n)+8-7=8T(n)+1, que es un cuadrado.

a(n) is the sum of the first three entries of row n of Pascal's triangle. - Daniel T. Martin, Apr 13 2022

En efecto, los tres primeros términos son 1, n y n(n-1)/2 y su suma 1+(n2-n+2n)/2=1+n(n+1)/2=c(n). Por ejemplo, para n=4 queda 1+4+6=11=c(4)

Recurrencia lineal

Las sucesiones dependientes de cuadrados suelen presentar esta recurrencia: a(n+3) = 3*a(n+2) - 3*a(n+1) + a(n). En nuestro caso los términos iniciales son 1, 2, 4. Con mi herramienta de recurrencias se puede comprobar.

(https://www.hojamat.es/sindecimales/aritmetica/herramientas/herrarit.htm#recurre2)

Rellenamos las condiciones iniciales:

Pedimos ver la sucesión:


Como era de esperar, obtenemos C(n)

Como los números de Hogben también dependen de un cuadrado, se obtendrán con una recurrencia idéntica, pero iniciando en 1, 1, 3:

 


Pedimos ver la sucesión y obtenemos H(n):



En nuestra entrada de blog sobre estos números se explica el fundamento de que esta recurrencia sea válida para expresiones de segundo grado.

 

martes, 26 de marzo de 2024

Números que no son

En esta entrada recorreremos algunos números que no cumplen alguna propiedad especial. No nos detendremos en los obvios, como que los impares no son múltiplos de 2 o que los compuestos son los que no son primos. Como el tema es muy amplio, elegiremos algunos casos interesantes sin extendernos demasiado.

Un ejemplo es la sucesión que publicamos hace tiempo, sobre números impares que no pueden ser suma de un primo y un par de primos gemelos:

https://oeis.org/A329590

Odd numbers k that cannot be expressed as k = p+q+r, with p prime and (q, r) a pair of twin primes.

1, 3, 5, 7, 9, 33, 57, 93, 99, 129, 141, 153, 177, 183, 195, 213, 225, 243, 255, 261, 267, 273, 297, 309, 327, 333, 351, 369, 393, 411, 423, 435, 453, 477, 489, 501, 513, 519, 525, 537, 561, 573, 591, 597, 603, 633, 645, 657, 663, 675, 687, 693, 705, 711, 723

Puedes estudiar ejemplos y programación para esta sucesión contenidos en esa dirección.

Este es el tipo de “negaciones” de tipo medio que presentamos aquí como ejemplo.

Otro ejemplo de publicación nuestra reciente es el de los números que no pueden ser sumas de divisores de otros (función SIGMA). Copiamos un código PARI que los encuentra:

mfun(n)={my(k=1,a=0,vale=0,f);while(vale==0&&k<n,f=sigma(k);if(f==n,vale=1;a=k);k+=1);a}
for(i=2,40,if(mfun(i)==0,print1(i,", ")))

Resultado: 2, 5, 9, 10, 11, 16, 17, 19, 21, 22, 23, 25, 26, 27, 29, 33, 34, 35, 37,…

Coincide con lo publicado en https://oeis.org/A007369

Cuestión dependiente de otro número

Lo que hemos efectuado sobre la función SIGMA es un caso de una negativa para un número N en una función que depende de otro K.

Es fácil, mediante un procedimiento similar al que usamos en otras cuestiones, encontrar números que no son el resultado de una función, en este caso SIGMA. Podemos algo así:

Function noes(n) as boolean
Dim k, f, cota
Dim vale As Boolean

'En esta línea concretamos la cota
cota = n
k = 1
vale = False ‘Suponemos que no se cumple lo pedido
While Not vale And k <= cota ‘Buscamos soluciones
'En esta línea concretamos la función
f = sigma(k)
If f = n Then vale = True ‘Si vale=True se detiene la búsqueda
k = k + 1
Wend
noes = Not vale Buscamos que el número no valga
End Function

Con esta función hemos repetido la búsqueda, obteniendo el mismo resultado:



Esta función nos servirá para otras cuestiones, con solo cambiar la línea f=sigma(k) por otra función, y cambiar la cota si es necesario.

Otro ejemplo clásico es el siguiente

Autonúmeros o números colombianos

Son aquellos que no pueden ser iguales a otro número sumado con sus cifras.

Puedes consultar nuestras publicaciones  https://hojaynumeros.blogspot.com/2015/03/autonumeros-1.html y la siguiente.

En este caso bastará escribir la línea f=k+sumacifras(k). La función sumacifras está explicada en la dirección anterior. Con esto confirmamos cuáles son los primeros autonúmeros:

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

Con la función PHI de Euler

Otro caso interesante es el de aquellos números que no pueden ser función PHI de otros, es decir, que PHI(X)=N no tiene solución. Recordamos que PHI cuenta los números menores que X y que son primos con él, incluido el 1. Es evidente que X no será menor que N, lo que puede complicarnos la cota de búsqueda. En estos casos elegiremos cotas altas y estudiaremos los casos particulares. En este ejemplo usaremos cota 10^3 para los primeros números, y nuestra función euler(k), que devuelve el valor de PHI. Procederemos a escribirla en la línea correspondiente del código de la función.

Obtenemos:



Wikipedia en español les llama nototientes, traducción literal del inglés. Están publicados en https://oeis.org/A007617, y ahí puedes descubrir algunas de sus propiedades.

En PARI ya está implementada la función istotient, para números que pueden ser función de Euler de otros. Esto facilita la búsqueda. Por ejemplo, así:

 

En el listado figuran todos los números impares mayores que 1. La razón es que PHI(pm) es par para p primo, pues aplicando la fórmula

PHI(pm)=pm(1-1/p)=pm-1(p-1), y como el paréntesis es par, lo será todo el producto. Al ser multiplicativa, la función PHI seguirá siendo par para cualquier número.

Se pueden encontrar fácilmente los números pares que no son PHI(K) para ningún valor de K. Usaremos PARI:

 


Números no poligonales

Aquí nos referimos a los poligonales no triviales, es decir, que en cada lado figuren dos unidades al menos, porque con una unidad todos los números pueden ser poligonales, como vemos en la imagen, que representa al número 9:

Para estudiar si un número es poligonal no trivial no vale su fórmula general:

Se puede conocer si un número es poligonal o no, porque existe un criterio algebraico. Puedes verlo en mi publicación “Números poligonales” descargable desde http://www.hojamat.es/publicaciones/poligonales.pdf)

 

Con este criterio es fácil construir la función ESPOLIGONAL

Function espoligonal(n, k)
Dim d, e, m

m = 0
d = (k - 4) ^ 2 + 8 * n * (k - 2)
If escuad(d) Then ‘Criterio
m = (k - 4 + Sqr(d)) / 2 / (k - 2)
If esentero(m) Then e = m Else e = 0 ‘Ha de ser entero
End If
espoligonal = e
End Function

Devuelve un cero si no es poligonal, y su número de lados si lo es. Esta función tiene un parámetro k (número de lados), pero con un bucle podemos prescindir de él:

Function esunpoligonal(n) 'detecta poligonales regulares, desechando el caso n, trivial
Dim i, es

If n < 3 Then esunpoligonal = 0: Exit Function
es = 0
i = 3
While i < n And es = 0
If espoligonal(n, i) Then es = i
i = i + 1
Wend
esunpoligonal = es
End Function

Si aplicamos esta función a cualquier número y nos devuelve cero, es porque ese número no puede ser poligonal, salvo el caso trivial. De esta forma podemos encontrar los primeros números no poligonales:

1, 2, 3, 4, 5, 7, 8, 11, 13, 14, 17, 19, 20, 23, 26, 29, 31, 32, 37, 38, 41, 43, 44, 47, 50, 53, 56, 59, 61, 62, 67, 68, 71, 73, 74, 77, 79, 80, 83, 86, 89, 97, 98, 101, 103, 104, 107, 109, 110, 113, 116, 119, 122, 127, 128, 131, 134, 137, 139, 140, 143, 146, 149, 151, 152, 157,

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

Con estos ejemplos podemos entender que basta someter al número a una prueba concreta mediante una función y detectar, si la variable de respuesta es de tipo booleano, si el resultado es FALSO.

Existen muchos más ejemplos de números que “NO SON”. Incluimos otro ejemplo:

No son sumas de cuadrado y primo

Función:

Public Function primomascuad(n) As Boolean 'descompone un número en primo más cuadrado
Dim r, i, p
Dim vale As Boolean

vale = False
r = Sqr(n)
i = 1
While i <= r And Not vale
p = n - i ^ 2
If esprimo(p) Then vale = True
i = i + 1
Wend
primomascuad = vale
End Function

Los primeros números que no cumplen la condición son:

1, 2, 5, 10, 13, 25, 31, 34, 37, 58, 61, 64, 85, 91, 121, 127, 130, 169, 196, 214, 226, 289, 324, 370, 379, 400,…

https://oeis.org/A064233

No seguimos. La lista de ejemplos similares llenaría un libro.

lunes, 19 de junio de 2023

Sumas con anagramáticos

En esta entrada jugaremos un poco con números que comparten cifras y están relacionados mediante algunas operaciones entre ellos.

Sumandos anagramáticos

Comenzamos con aquellos números que son el total de una suma de dos números anagramáticos con ellos, es decir, los tres datos han de compartir cifras y con la misma frecuencia. Aunque están publicados casos similares, aquí exigiremos que los dos sumandos anagramáticos tengan el mismo número de cifras, como en

954=459+495

5238=2385+2853

No tendremos en cuenta ningún sumando que comience por cero.

Para encontrarlos diseñaremos una función de VBasic para Excel y Calc. En ella se usará la función cifras_identicas, cuyo código puedes encontrar en

https://hojaynumeros.blogspot.com/2020/11/consecutivos-con-las-mismas-cifras.html

También usamos nuestra función numcifras

(ver https://hojaynumeros.blogspot.com/2018/04/cancelaciones-anomalas-12.html)

Function dobleanagram$(n)

Dim a, m

Dim s$

s$ = "" ‘Contenedor de sumandos

m = numcifras(n) ‘Cuenta las cifras

For a = 10 ^ (m - 1) To n / 2 ‘Busca con el mismo número de cifras

If cifras_identicas(a, n) And cifras_identicas(n - a, n) Then s = s + " # " + Str$(a) + "+" + Str$(n - a) ‘Solución

Next a

dobleanagram = s

End Function

 Con esta función obtenemos los primeros resultados:




Llama la atención, y era algo esperable, que las soluciones se pueden agrupar en familias, como 954, 9045, 9504, 9540, 9954…Es fácil ver que con un simple cambio se reproducen resultados conocidos. El arrastre de cifras en las sumas influirá en que aparezcan más o menos familias.

Todos los resultados de este problema han de ser múltiplos de 9. En efecto, si los dos sumandos poseen las mismas cifras, serán también iguales sus restos módulo 9, con lo que el total tendría como resto su suma, y al tener las mismas cifras, la única posibilidad es que esos restos sean los tres nulos.

Un resultado similar está publicado en https://oeis.org/A121969, pero ahí se admiten números que comiencen por cero. Basta cambiar una línea en la función para obtener estos resultados, pero no merece la pena.

Anagramático más sus cifras

Otro caso relevante es el de un número igual a un anagramático con él sumado con sus cifras. Tiene un cierto parecido con el caso anterior, porque, en realidad, se usan las mismas cifras, pero aquí están como sumandos separados. Es la situación opuesta a la de los autonúmeros, que no admiten ninguna descomposición de este tipo

(ver https://hojaynumeros.blogspot.com/2015/03/autonumeros-1.html)

Existe una forma muy sencilla de resolver este caso, y es restarle al número sus propias cifras, y ver si la diferencia es anagramática con el total. Para las búsquedas necesitaremos otra función nuestra, sumacifras(n,k), que suma las cifras de n elevadas previamente al exponente k. Esta función la puedes encontrar en el enlace del párrafo anterior.

Para este caso y los siguientes usaremos esta otra función:

Function autoanagram$(n, k)

Dim a, m

Dim s$

s = ""

m = numcifras(n)

a = n - sumacifras(n, k) ‘Al número le restamos potencias de sus cifras

If cifras_identicas(n, a) Then s = s + " # " + Str$(a) ‘Otra nueva solución

autoanagram = s

End Function

Si la usamos con el parámetro k igual a 1, obtendremos las primeras soluciones:


 Puedes comprobar cualquiera de la lista:

810=801+8+0+1

1953=1935+1+9+3+5

Aquí también, y por la misma razón, los dos números implicados han de ser múltiplos de 9.

Estos números sí están publicados, con el mismo planteamiento nuestro, en https://oeis.org/A248209

En la página enlazada puedes estudiar los códigos PARI que contiene. El segundo es similar al usado aquí. No hemos acudido a este lenguaje porque la hoja de cálculo suele ser rápida en estos casos. Tampoco hemos exigido que las soluciones sean múltiplos de 9 por la misma razón. No suelen ser búsquedas muy lentas.

Otros casos con potencias

Como sumacifras(n;k) admite potencias, es sencillo ampliar la búsqueda a los casos en los que las cifras estén elevadas al cuadrado, cubo o cualquier otra potencia.

Cifras al cuadrado

Si tomamos k=2 en sumacifras dentro de la función autoanagram, resultarán parejas de anagramáticos que se diferencien en la suma de los cuadrados de sus cifras.

Aquí los sumandos no tienen las mismas cifras, por lo que las soluciones no han de ser múltiplos de 9, pero sí lo tiene que ser la suma de los cuadrados de las cifras, para conseguir un par de anagramáticos. Ejemplos:

271=217+22+12+72, donde la suma de cuadrados es 54, múltiplo de 9.

2450=2405+22+42+02+52, con suma de cuadrados igual a 45.

 

Cifras al cubo

Para k=3 resultan:

Por ejemplo:

1533=1353+13+33+53+33=1353+1+27+125+27=1353+180

 

Otras potencias

K=4


3211=3112+34+14+14+24=3112+99

K=5


14310=13041+15+35+05+45+15=13041+1+243+0+1024+1=13041+1269

Dejamos aquí las potencias de cifras.

 

Anagramáticos con producto de cifras

Podemos plantearnos pares de anagramáticos que se diferencien en el producto de sus cifras. Usaremos nuestra función producifras, que es similar a sumacifras (ver https://hojaynumeros.blogspot.com/2018/09/permutacion-de-cifras-al-sumar-su.html). En este enlace puedes leer unos resultados más exigentes que los propuestos aquí, pues no basta con que los pares sean anagramáticos, sino que han de ser también simétricos. En las búsquedas hay que eliminar los números en los que el producto de las cifras sea cero, pues aparecerían muchos casos triviales. En nuestro caso obtenemos estos pares:


Por ejemplo, 1631=1613+1*6*1*3=1613+18

Aquí también el producto de cifras ha de ser múltiplo de 9, porque el par de anagramáticos comparte el mismo resto módulo 9. Significa que una cifra ha de ser 9, o bien, que figuren 3 o el 6 repetidos o estar presentes ambos. Recorriendo la tabla se comprueba.

 

 

miércoles, 3 de mayo de 2023

Menor múltiplo oblongo

Para su uso en los cálculos diarios que publico en Twitter, visito casi a diario la página The On-Line Encyclopedia of Integer Sequences!, (OEIS), http://oeis.org, fundada por N. J. A. Sloane. En la primavera de 2022 me llevé la sorpresa de ver una sucesión suya, del año 2021, referente a divisores de números oblongos. El tema de estos números no es muy popular en OEIS, y por eso me sorprendió verlos tratados por el mismo fundador de la página. Esto me ha llevado a tratar el tema con la mayor amplitud posible, según las sucesiones A345988 y A344005.

Lo que plantea N. J. A. Sloane en sus sucesiones es encontrar el oblongo más pequeño que es divisible entre un número dado. Si llamamos n a ese número, es claro que tiene dos múltiplos oblongos con seguridad, n(n+1) y (n-1)n. Por eso, se puede plantear una búsqueda infinita, como figura en OEIS, con la certeza  de que se detendrá:

(PARI) a(n) = for(m=1, oo, if((m*(m+1))%n==0, return(m))) \\ Felix Fröhlich, Jun 04 2021

Lo planteamos para hoja de cálculo en VBASIC. Como no podemos usar el símbolo de infinito, nos serviremos de un bucle WHILE sin fin:

Function menoroblongo(n)

Dim m, o

m = 1 ‘Comenzamos la búsqueda con 1

o = m * (m + 1) ‘Creamos el oblongo

While o Mod n <> 0 ‘Mientras no sea divisible, avanzamos el WHILE

m = m + 1

o = m * (m + 1)

Wend

menoroblongo = o

End Function

Se podía plantear con más eficiencia, pero funciona con rapidez y la hemos dejado así. Con esta función podemos encontrar las mismas soluciones de Sloane:

Uso del Buscador de Naturales

Nuestra herramienta de búsqueda de números naturales permite encontrar el menor oblongo múltiplo de un número dado. Lo que no puede construir es un listado como el de la tabla anterior, pero para explicar el concepto, a nivel elemental, nos vale.

Se puede descargar desde (http://www.hojamat.es/sindecimales/divisibilidad/herramientas/herrdiv.htm#buscador)

En la captura de pantalla siguiente figura la búsqueda en el caso de 80. Hemos buscado entre 80 y 6480=80*81, con las condiciones de ser oblongo y múltiplo de 80. Vemos que la solución es 240 como mínimo oblongo:


Casos particulares

Potencia de un primo

Si n es una potencia de un primo p, es claro que cualquier oblongo m(m+1) múltiplo de n ha de contener el factor primo p, luego lo contendrá m o m+1, porque no se puede repartir entre ellos, luego el mínimo será (n-1)n

El mínimo oblongo múltiplo de pk (p primo) es (pk-1)pk

Así, el número 243=3^5 poseerá como menor oblongo múltiplo el 242*243=58806.

Es fácil comprobarlo con el Buscador:


Los dos únicos oblongos de la solución son 242*243 y 243*244. En las factorizaciones destaca el número 3 repetido cinco veces, luego son múltiplos de 243.

Números que solo poseen dos factores primos

Si un número presenta la factorización N=pa * qb con p y q primos, es claro que en un oblongo m(m+1) m será múltiplo de uno de los primos, y m+1 lo será del otro. Esto nos lleva a una ecuación diofántica: pax - qby = ±1

Esta ecuación siempre tendrá solución, al ser los coeficientes primos entre sí, y la duda será si el segundo miembro deberá valer 1 o -1 y si las soluciones serán positivas.

Por ejemplo, el número N=32*53=1125 poseerá un oblongo múltiplo si 32x - 53y = ±1

Si tomamos el valor 1, será x=(1+125y)/9, con lo que habrá que buscar múltiplos de 125 que al sumarles 1 sean múltiplos de 9

Creamos una tabla con esos cocientes:


Observamos que (1, 14) es una solución y, en efecto, 14*9=126 y 1*125=125, luego m=125 y m+1=126, con lo que su producto será un oblongo múltiplo de 1125, 15750. Pero la cuestión es que no sabemos si es el mínimo, porque más abajo hay otra solución, 10, 139, en la que 139*9=1251 y 10*125=1250, con lo que el oblongo sería 1250*1251, claramente mayor que 15750.

A esto hay que añadir que habrá que repetir todo con el caso -1.

En nuestro ejemplo aparecería la solución 8, 111, es decir 8*125=1000 y 111*9=999, que también sería válida.

Vemos que la resolución es posible, pero que no nos garantiza el carácter de mínimo múltiplo.

Estudio diofántico

Podemos plantear

125x-9y=1 o bien 12x-9y=-1

Usamos WolframAlpha:

Caso +1




Paramétricas:



Caso -1



Paramétricas:


Se observa que en las dos paramétricas el mínimo valor positivo se alcanza si n=0.

En la primera tendríamos x=8, y=111, con lo que m=999 y m+1=1000, resultando el oblongo 999000.

En la segunda, x=1 y=14, m=125, m+1=126 y el oblongo el ya conocido

En la práctica es más rápido usar el Buscador ya que sabemos que existen soluciones.

En la siguiente captura de pantalla observamos que se ha buscado un oblongo múltiplo menor que 15750 y no se ha encontrado, luego este es el mínimo:

Caso general

Para un número con más de dos factores primos, bastará agruparlos en dos productos cuyos factores sean primos entre sí, y aplicar la misma técnica de ecuación diofántica, además de las técnicas de búsqueda ya estudiadas. Para encontrar el mínimo deberemos recorrer todos los pares de factores unitarios. Puedes leer la propuesta de Sloane en la sucesión A344005.

miércoles, 20 de abril de 2022

Números consecutivos con una suma del mismo tipo

 

En mis cálculos diarios de Twitter uso a menudo el concepto de suma simétrica, en la que considero tres sumandos con un repetido, y que los tres presenten una misma propiedad. Por ejemplo, 80=23+43+23, es decir, una suma simétrica de cubos. Lo curioso en este caso es que su consecutivo, 81, también presenta esa misma propiedad, ya que 81=33+33+33. ¿Existirán muchos pares de este tipo, que sean consecutivos y con el mismo tipo de suma simétrica?

Como la búsqueda promete ser larga, la dividiremos en tipos. Es ya frecuente en este blog, interrumpir un estudio cuando se perciba que la cuestión se alarga o pierde interés.

Suma simétrica de cubos

Comenzamos por este caso por ser el primero que se consideró. Además del par 80, 81 existen otros, como veremos.

En primer lugar, necesitaremos saber cuándo un número se puede expresar como suma simétrica de cubos. El objetivo inmediato es conocer la forma de identificar un cubo. El problema lo constituyen los decimales y el redondeo, por lo que podemos usar una identificación en dos pasos, extrayendo la raíz cúbica y más tarde comprobar que su cubo coincide con el número deseado. Sería algo así:

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

 

Un criterio más fiable, pero más lento, es el de extraer los factores primos y exigir que todos los exponentes sean iguales a 3 (o a un múltiplo de 3). Disponemos de una función diseñada para encontrar el exponente común mínimo entre los factores primos de un número natural. Sería esta otra:

Public Function espotencia(n)

Dim i, j, s, p

If n = 1 Then espotencia = 0: Exit Function

p = n

j = sacaprimos(p) ‘Construye la descomposición factorial

s = expo(1)

If j > 1 Then

For i = 2 To j

s = mcd(s, expo(i)) ‘Elige el mínimo MCD de los exponentes

Next i

End If

If s = 1 Then s = 0

espotencia = s

End Function

 

Devuelve el MCD de los exponentes, y si es 3 o múltiplo de 3, ya tenemos un cubo.

En este proceso usaremos la primera versión para encontrar soluciones, y luego verificaremos con la segunda, que es más lenta, sin publicar de nuevo los resultados.

Una vez identificados los cubos, habrá que determinar si un número es suma simétrica de dos cubos. Para eso estaría esta otra función:

Public Function sumasimcubos(n) As Boolean

Dim i, m

Dim novale As Boolean

i = 1

novale = True

While i < (n - 1) ^ (1 / 3) And novale ‘Buscamos el sumando central

If escubo((n - i ^ 3) / 2) Then novale = False ‘Restamos y dividimos entre 2 para ver el otro

i = i + 1

Wend

sumasimcubos = Not novale

End Function

 

Esta función te indica si un número es suma de cubos simétricos o no. Ya solo queda aplicarle esta prueba a dos números consecutivos. En la práctica, la función va a devolver la suma en modo texto, pero no se quería complicar esta explicación. Aplicada de esta forma, nos da los siguientes pares:


Por ejemplo:

176200=443+183+443 y  176201=173+553+173

El lenguaje PARI devuelve resultados con más rapidez, por lo que también es conveniente adaptar a él este proceso. Así llegamos un poco más lejos, pero no se ha pretendido agotar el tema y hemos detenido la búsqueda en 300000

scube(n)={my(i=1,m); while(i<(n-1)^(1/3),m=(n-i^3)/2; if(ispower(m,3),return(1));i+=1)}

ok(n)=scube(n)&&scube(n+1)

for(i=1,300000,if(ok(i),print1(i,", ")))

80, 344, 3429, 7290, 12393, 14749, 61318, 85751, 92609, 95010, 120311, 167399, 170173, 171181, 173743, 173778, 176200, 185442, 250063, 252046, 277694,…

Búsqueda directa con Excel

Podemos organizar una tabla de doble entrada XY en cuyo interior situemos las sumas x3+2y3, y no tendremos más que buscar consecutivos. En la imagen están destacados cuatro pares:


Esto no sería fiable, porque la vista nos puede engañar y perdernos un par. Lo indicado aquí sería escribirlos en columna, ordenarlos después y comprobar que los consecutivos que cumplen la propiedad caen uno debajo del otro.


Este procedimiento sí nos daría más seguridad, pero, o se resolvía con macros, o nos tendría bastante tiempo ocupados. Dejamos esa puerta abierta a nuevos métodos

Suma de  potencias

Después de investigar sobre cubos, lo indicado es pasar a los cuadrados u otras potencias. Con cuadrados aparecen tantos ejemplos que hacen perder el interés por la búsqueda. Si en las funciones usadas para los cubos vamos cambiando los exponentes 3 por 2, obtendremos las sumas simétricas de cuadrados. Los primeros casos de consecutivos son estos:


Llama la atención la aparición de conjuntos de tres consecutivos, como 17, 18, 19, o 66, 67, 68. Como simple curiosidad, se adjuntan a continuación los primeros:

Su misma abundancia le resta interés.

Cuartas potencias

Este caso es mucho menos frecuente. Volvemos a adaptar la función para cubos cambiando 3 por 4 y obtenemos una primera solución:

14802=74+104+74         14803=34+114+34

No existen, al parecer, otras soluciones menores que 106, por lo que dejamos abierta la búsqueda.

Como es nuestra norma, paramos aquí las potencias, para no alargar. Con lo publicado ya hay información suficiente para los lectores que deseen emprender otras búsquedas.

Otros tipos

Al comenzar a redactar esta entrada parecía que existiría gran variedad de soluciones en otros tipos de números, pero la realidad nos ha devuelto casos con demasiados resultados o con demasiado pocos. Esto hace perder interés a lo que sigue, pero hemos preferido mantenerlo.

Triangulares

Este tipo de números lo consideramos muy a menudo en nuestras búsquedas, porque no suele defraudar. Habrá que alterar ligeramente nuestra función, pues usaremos ESTRIANGULAR, que puedes encontrar en muchas entradas de este blog. Quedaría la función así (la seguimos llamando sumasimcubos):

Public Function sumasimcubos$(n)

Dim i, m, p, q

Dim s$

i = 1

s = ""

While i < Sqr(2 * n) And s = "" ‘El mayor triangular sería Sqr(2*n)

q = i * (i + 1) / 2 ‘Se construye el primer triangular

m = (n - q) / 2 ‘Diferencia para encontrar los simétricos

If estriangular(m) And m > 0 Then  s = Str$(m) + ", " + Str$(q) + ", " + Str$(m) ‘Es triangular y paramos

i = i + 1

Wend

sumasimcubos = s

End Function

Con esta función se obtienen muchas soluciones, como nos ocurrió con los cuadrados:



No tiene interés seguir.

Oblongos

Es inútil buscarlos, porque todos son pares y no puede darse la propiedad buscada en dos números consecutivos, uno par y otro impar.

Primos

Para que se cumpla lo que pretendemos, en uno de los consecutivos el primo central deberá ser 2, pero no tendremos esto en cuenta y sustituiremos triangular por primo y estriangular por esprimo. Como no existe fórmula para los primos, usaremos la función para el próximo primo PRIMPROX. Todas ellas ya han sido usadas en otras entradas.

Al ser obligada la presencia del 2 en uno de los números hace que aparezcan muchos consecutivos en los que el término central es 2 en el menor y 3 en el mayor, como puede comprobarse en este resultado:


También aquí obtenemos muchos resultados. Nos estamos quedando con pocos tipos interesantes. Hemos intentado con los números de Fibonacci y también resultan muchas soluciones, demasiadas para sacar consecuencias interesantes. Con los factoriales también se desvirtúa la búsqueda con 1! y 2! que son consecutivos. Así que hasta aquí llegó el estudio.