En esta entrada investigaremos los números enteros positivos
tales que al sumarles k unidades, el valor de su función sigma (suma de
divisores) no cambia, es decir:
Existen muchos ejemplos según los valores
de k, y recorreremos algunos para destacar sus propiedades.
Será de utilidad repasar la fórmula de
esta función según la descomposición factorial del número. Es la siguiente:
donde pi son los factores primos de N y ei sus exponentes. Cada factor también se puede interpretar como la suma de potencias del número primo correspondiente desde p0 hasta pe:
Una
implementación sencilla (para Excel o Calc) de esta función es la siguiente,
escrita en código VBasic, aunque en este blog se usa otra basada en la
descomposición factorial:
Public
Function sigma(n)
Dim
i, s
i
= 1
s
= n ‘La sigma se
inicia con el valor de n
For
i = 1 To n / 2 ‘El
máximo divisor propio posible es n/2
If
n / i = n \ i Then s = s + i ‘Si es divisor, se suma
Next
i
sigma
= s
End
Function
Caso K=1
No es difícil construir un bucle de
búsqueda de números consecutivos con la misma sigma. Los primeros son estos:
A002961 Numbers n such that
n and n+1 have same sum of divisors.
14, 206, 957, 1334,
1364, 1634, 2685, 2974, 4364, 14841, 18873, 19358, 20145, 24957, 33998, 36566,
42818, 56564, 64665, 74918, 79826, 79833, 84134, 92685, 109214, 111506, 116937,
122073, 138237, 147454, 161001, 162602, 166934
En esta página se comenta que para valores de n < 2*10^10
el valor de sigma(n)/n está entre 1,5 y 2,25. No se sabe si esta sucesión es
infinita.
Parece ser que 14 y 15 son los únicos semiprimos de la
sucesión, y la sigma coincidente es 24 porque s(14)=
s(2*7)=(1+2)(1+7)=3*8=24 y s(15)=s(3*5)=(1+3)(1+5)=4*6=24
Ni p ni p+1 pueden ser primos en esta sucesión.
Si p fuera primo, sería s(p)=1+p, con lo que no
podría alcanzar el valor de s(p+1).
Si el que es primo es p+1,
tendríamos s(p+1)=p+2,
con lo que los divisores propios de p deberían sumar 2, lo que no ocurre nunca.
206 y 207 son los siguientes (no semiprimos en este caso),
porque
s(206)= s(2*103)=(1+2)(1+103)=3*104=312 y
s(206)= s(2*103)=(1+2)(1+103)=3*104=312 y
s(207)=
s(3^2*23)=(1+3+9)(1+23)=13*24=312
El código PARI que figura en la publicación citada no es el
más compacto. Se puede usar preferiblemente este otro:
for(p=1,20000,
if(sigma(p)==sigma(p+1), print1(p,", ")))
Hasta donde hemos explorado, la sigma común es múltiplo de
6.
Caso k=2
Aplicando la función sigma a dos números que se diferencien en dos unidades, resultan con resultados iguales los siguientes (primeras soluciones):
Como en el caso anterior, era de esperar que estuviesen ya
publicados:
A007373 Numbers n such that sigma(n+2) = sigma(n).
33, 54, 284, 366, 834,
848, 918, 1240, 1504, 2910, 2913, 3304, 4148, 4187, 6110, 6902, 7169, 7912,
9359, 10250, 10540, 12565, 15085, 17272, 17814, 19004, 19688, 21410, 21461,
24881, 25019, 26609, 28124, 30592, 30788, 31484, 38210, 38982, 39786, 40310,
En esta sucesión, al igual que en la anterior, no hay
primos, y parece que tampoco cuadrados. Las sigmas comunes que aparecen,
también son múltiplos de 6 en este caso.
Sí figuran semiprimos en esta sucesión (las dos últimas
columnas son los factores primos de las dos primeras. Al ser semiprimos, los
exponentes de cada corchete son iguales a 1):
Por ejemplo, s(4187)=(1+53)(1+79)=4320
y s(4189)=(1+59)(1+71)=4320
Abreviamos. Para el siguiente caso tenemos:
También están publicados.
A015861 Numbers n such that
sigma(n) = sigma(n + 3).
382, 8922, 11935,
31815, 32442, 61982, 123795, 145915, 186615, 271215, 442362, 554715, 560382,
580635, 964535, 1191575, 1243375, 1369302, 1539942, 1642795, 2616702, 3141215,
3299062, 3556035, 3716895, 4201015, 5148294 (list; graph; refs; listen;
history; text; internal format)
No añadimos detalles.
A015863 Numbers n such that
sigma(n) = sigma(n + 4).
51, 66, 115, 220, 319,
1003, 2585, 4024, 4183, 4195, 5720, 5826, 5959, 8004, 8374, 11659, 12367,
12561, 13581, 14338, 15365, 16116, 17840, 18718, 20541, 25130, 29393, 30170,
32665, 36516, 39913, 40660, 42423, 42922, 47841, 49762 (list; graph; refs;
listen; history; text; internal format)
Los casos k=5 y k=6 estàn también publicados. Dejamos esta
primera cuestión.
Caso k=6 http://oeis.org/A015866
Para investigar otros casos (por ejemplo, el 22) puedes
construir un bucle (lo desarrollamos en VBasic) similar al siguiente:
For n=1 to 10000 ‘Hemos escrito
10000 como ejemplo
K=22 ‘El 22 también es un ejemplo
If sigma(n)=sigma(n+k) then msgbox(n) ‘Si
coinciden las sigmas, lo presentamos
Next n
Así puedes proceder en otros casos.
Diferencias que no se
dan
Podemos investigar si desde 1 hasta m existen
números que no cumplan la propiedad para un valor de k. Podría ser esta, que
devuelve las diferencias que no se dan:
Public Function norepitesigma(m, k)
Dim i, s
Dim norepe As Boolean
i = 1: norepe = True: s = 0
While i <= m And norepe
If fsigma(i, 1) = fsigma(i + k, 1) Then
norepe = False: s = i
i = i + 1
Wend
norepitesigma = s
End Function
Probamos con 100000 y las diferencias de la tabla anterior
inferiores a 5000 desaparecen. Esto nos hace sospechar que, dada una diferencia
entre números con sigmas iguales, se alcanza siempre un valor para el que es
válida esa diferencia. Para verlo mejor podríamos invertir el punto de vista:
dada una diferencia, averiguar en qué número se da. Este problema no tiene cota
de búsqueda, por lo que la efectuaremos con cotas fijadas por nosotros. Podemos
usar:
Public Function tienesigmacomun(n, c)
'Para una diferencia n, creamos un bucle con cota
c hasta que aparezca esa diferencia
Dim k, s
Dim notiene
k = 1: notiene = True: s = 0
While notiene And k < c ‘Avanzamos
si no aparece o llegamos a la cota
If fsigma(k, 1) = fsigma(n + k, 1) Then
notiene = False: s = k
k = k + 1
Wend
tienesigmacomun = s
End Function
Con esta función podemos desechar las diferencias
de la tabla anterior. Todas ellas aparecen con una cota de 100000:
Esto nos hace sospechar que todas las diferencias que
planteemos terminarán por aparecer para algún valor.
Lo puedes investigar en PARI:
tiene(n)=local(c=100000,nr=1,k=1,s=0);while(nr==1&&k<c,if(sigma(k)==sigma(k+n),nr=0;s=k);k+=1);s
for(i=1,50000,if(tiene(i)==0,print(i))
Este código recorre desde 1 hasta 50000 para encontrar
números que no puedan ser diferencias de sigmas con cota 100000. Descubre dos
casos en los que no aparecen con esa cota 100000, que son 20160 y 22680, pero
aparecen en los números 100776 y 113373 respectivamente. Esto nos hace esperar que todos los números, buscando lo suficiente, podrán ser diferencias
de otros números con sigmas equivalentes.
Cambiando los parámetros 1000000 y 5000 puedes intentar
descubrir si alguna diferencia no aparece nunca para una cota de 1000000 o
mayor. Con esta cuestión abierta terminamos el tema.
No hay comentarios:
Publicar un comentario