En el mes de marzo, mientras estudiaba los cálculos que publico en Twitter (@connumeros), descubrí esta curiosidad, y es que unos números consecutivos o cercanos presentaban divisores con una estructura muy similar. Estos eran:
13322 es múltiplo de 6661, pues
13322=2*6661
13323, lo es de 4441, ya que 13323=3*4441
13324, de 3331, pues se cumple
13324=4*3331
Por último, 13326 lo es de 2221:
13326=6*2221
Parece que la clave la tiene el número
13332=2*6666=3*4444=4*3333=6*2222. Si en estos cuatro productos convertimos la
última cifra en un 1, resultan los números de arriba:
2*(6666-5)=2*6661=13322=13332-10
3*(4444-3)=3*4441=13323=13332-9
4*(3333-2)=4*3331=13324=13332-8
6*(2222-1)=6*2221=13326=13332-6
El que las diferencias sean 10, 9, 8 y 6 produce que tres
productos sean consecutivos y el último alterno: 13322, 13323, 13324 y 13326.
Esta sería la explicación sencilla para esta curiosidad, y
también funciona con 1322, 1323, 1324 y 1326, ya que 1322 es múltiplo de 661 y
los siguientes de 441, 331 y 221 respectivamente. Evidentemente, también sería
esto de aplicación a los números 133322 y siguientes con la misma estructura.
¿Habrá más casos similares a este? Organizaremos una
búsqueda.
Primer paso: divisores
adecuados
Por concretar el problema, admitiremos como divisores
adecuados aquellos del tipo 221, 331, 441,…2221, 3331, 4441,…22221, 33331,
44441,…Es decir, que las primeras cifras sean todas iguales y distintas de 1,
mientras que la última ha de valer 1. Desechamos, pues los repidígitos 11111… y
también 21, 31, 41,…porque en estos últimos no de da repetición.
Para saber si un número es divisor adecuado podemos usar el
conjunto de cifras convirtiendo el número en un string, o bien usar los restos módulo 10^k. Optamos por este
segundo método. Esta sería la función para detectar este tipo de divisores en
VBASIC de Excel:
Function esrepe1(n)
Dim i, c, f, g
Dim es As Boolean
n < 221 Then esrepe1 = False: Exit
Function ‘Se estudian los superiores a 221
c = Int(Log(n) / Log(10) + 1) ‘Cálculo
del número de cifras
es = True ‘Se supone que sí es
adecuado
f = (n Mod 100) \ 10 ‘Calcula la
segunda cifra, que no debe valer 1
g=n Mod 10 ‘Calcula la primera
cifra, que ha de valer 1
If f = 1 or g<>1 Then esrepe1 = False:
Exit Function ‘No es adecuado
i = 2 ‘Se recorre el resto de cifras
While i <= c And es = True
If f <> (n Mod 10 ^ i) \ 10 ^ (i - 1)
Then es = False ‘Si una cifra es diferente, no es adecuado
i = i + 1
Wend
esrepe1 = es
End Function
Con esta función encontramos algo que ya sabíamos, que estos
son los primeros divisores adecuados:
221, 331, 441, 551, 661, 771, 881, 991, 2221, 3331, 4441,
5551, 6661, 7771, 8881, 9991, 22221, 33331, 44441,…
Aunque los conozcamos nosotros, debe poderlos identificar
también la hoja de cálculo.
En el lenguaje PARI construimos la función en tres pasos:
digit(a, q)=(a%10^q)\10^(q-1)
numdigit(n)=truncate(log(n)/log(10))+1 )
isrep1(n)={my(c=numdigit(n),e=0,f,i);if(n>=221&&digit(n,1)==1,f=digit(n,2);if(f<>1,e=1;i=2;while(i<=c&&e==1,if(f<>digit(n,i),e=0);i+=1)));e}
La función digit extrae una cifra del número, numdigit calcula el número de cifras y isrep1 determina si es adecuado.
Segundo paso:
Múltiplos de esos divisores
Un segundo paso consistirá en descubrir candidatos a la
propiedad buscada entre los múltiplos de los divisores adecuados.
Usaremos esta función de Excel y más adelante otra de PARI.
En las búsquedas es bueno disponer de dos métodos para comprobar que resultan
las mismas soluciones.
En Excel
Function multirepe(n) ‘Determina si n posee
un divisor adecuado.
Dim i, r
Dim es
es = False ‘Comenzamos suponiendo
que no lo es
i = 221 ‘Inicio de búsqueda de
divisores
While i <= n And Not es
If esrepe1(i) Then
If n / i = n \ i Then es = True ‘Si
es un divisor y además adecuado, será válido
End If
i = i + 1
Wend
multirepe = es
End Function
Obtenemos este listado de posibles inicios de conjuntos con
la propiedad pedida
221, 331, 441, 442, 551, 661, 662, 663, 771, 881, 882, 884,
991, 993, 1102, 1105, 1322, 1323, 1324, 1326, 1542, 1547, 1653, 1655, 1762,
1764, 1768, 1982, 1983, 1986, 1989, 2204, 2205, 2210, 2221, 2313, 2317, 2431,
2643, 2644, 2646, 2648, 2652, 2755, 2873, 2973, 2979,…
En PARI
Con PARI podemos usar esta definición de cuatro filas:
digit(a, q)=(a%10^q)\10^(q-1)
numdigit(n)=truncate(log(n)/log(10))+1
isrep1(n)={my(c=numdigit(n),e=0,f,i);if(n>=221&&digit(n,1)==1,f=digit(n,2);if(f<>1,e=1;i=2;while(i<=c&&e==1,if(f<>digit(n,i),e=0);i+=1)));e}
multirep(n)={my(s=0,i=1);while(i<=n&&s==0,if(n/i==n\i&&isrep1(i),s=1);i+=1);s}
En estos listados ya se percibe que 661, 662 y 663 cumplen
lo exigido, pero no 665. Más adelante figuran 1322, 1323, 1324 y 1326 que sí lo
cumplen. Esto refuerza nuestra confianza en los métodos de búsqueda.
Ahora sólo nos queda, y será una búsqueda lenta, encontrar
conjuntos de cuatro números, los tres primeros consecutivos y el cuarto
alterno, que sean múltiplos de los divisores adecuados. Nos costará bastantes
minutos en un ordenador personal.
Después de buscar, sólo se han obtenido los resultados
previstos: 1322, 13322, 133322,…
Así que es una propiedad poco frecuente, ligada a los
números 666, 6666, 66666,…No hay más búsquedas.