jueves, 14 de noviembre de 2019

Relaciones entre PHI(n) y TAU(n)



Función TAU

Las funciones PHI y TAU, aplicadas a un número entero positivo, tienen algo de complementarias. La segunda, TAU, cuenta los divisores de un número N. También es llamada función divisor, o D(x). En el caso de un número primo p, es claro que los divisores son 1 y p, luego la función TAU valdrá 2 en este caso. 

Igualmente, es fácil deducir que para potencias de un número primo, pk, TAU(pk)=1+k

Puedes acudir  a nuestra publicación Funciones multiplicativas (http://www.hojamat.es/publicaciones/multifun.pdf)
para consultar la fórmula general.

TAU(N)=(1+a1)(1+a2)…(1+ak)
a1, a2, …ak son los exponentes de los factores primos de N.

Por ejemplo, TAU(24)=TAU(23*3)=(1+3)(1+1)=8

Efectivamente, los divisores de 24 son ocho: 1, 2, 3, 4, 6, 8, 12 y 24.

Función PHI

La función j(n) (indicatriz o indicador de Euler) es el cardinal del conjunto de elementos inversibles en Zn o bien el conjunto de números coprimos con n y menores que él contando el 1. Esta segunda versión es más clara y adecuada al estudio que vamos a iniciar: cuenta los números primos con N y menores que N, con el añadido del 1.

La función indicatriz de Euler es multiplicativa, porque si m y n son coprimos, se cumple que

j(m). j(n) = j(m.n)

Su fórmula explícita es


(pi son sus factores primos)

Por ejemplo, el número 18=32*2 posee un valor de PHI igual a 18(1-1/2)(1-1/3)=6, Podemos comprobar que los números coprimos con 18 y menores que él son: 1, 5, 7, 11, 13 y 17. En total 6.

En los números primos p el valor de PHI(p)=p-1, como es fácil deducir.

En algunos lenguajes de programación recibe el nombre de función totient.

Relaciones entre TAU y PHI

Para cualquier número natural N, los números comprendidos entre 1 y N pertenecen a uno de estos tres conjuntos:

{A} Divisores de N: los cuenta la función TAU

{B} Coprimos con N incluido el 1: los cuenta la función PHI. En ambos conjuntos se encuentra el 1, lo que hace que no sean disjuntos.

{C} Resto de números: son aquellos números r que no son divisores de N ni coprimos con él: tienen un m.c.d con N que es mayor que 1 y menor que r.

Por ejemplo, en el número 30, los conjuntos serían:

{A} = {1, 2, 3, 5, 6, 10, 15, 30}, pues 30=2*3*5 y TAU(30)=(1+1)(1+1)(1+1)=8
{B} = {1, 7, 11, 13, 17, 19, 23, 29}, y PHI(30)=30(1-1/2)(1-1/3)(1-1/5)=1*2*4=8
{C} = {4, 8, 9, 12, 14, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28}, que son 15 elementos.

La suma de los cardinales de los tres conjuntos es 31, porque el 1 está repetido, y 8+8+15=31.

Con este planteamiento se adivina que pueden existir varias relaciones distintas entre los tres cardinales. El primero lo recoge TAU y el segundo PHI. El tercero lo dejamos como complemento de los otros dos.

PHI=TAU

Según lo publicado en http://oeis.org/A020488, solo existen estos casos: 1, 3, 8, 10, 18, 24, 30.

Por ejemplo, en N=10, TAU(10)=TAU(2*5)=(1+1)(1+1)=4 y PHI(10)=10(1-1/2)(1-1/5)=1*4=4.

No debemos conformarnos con lo publicado. Puedes comprobarlo con las dos versiones sencillas para el cálculo de ambas funciones que hemos preparado con el Basic de las hojas de cálculo. Para no interrumpir el estudio, las incluimos en un Anexo.

Jud McCranie da razones en esa página de por qué no hay más soluciones, y lo probó A. P. Minin  1894 . Lo comprobamos con nuestras funciones de hoja de cálculo:




El único número primo de la lista es 3, pues TAU(p)=2  para cualquier primo, y PHI(p)=p-1. Luego ha de ser 2=p-1 y p=3.

PHI doble de  TAU

También existen pocos casos (http://oeis.org/A062516):

5, 9, 15, 28, 40, 72, 84, 90 y 120.

Con nuestras funciones tenemos:




TAU doble de PHI

Sólo hay dos casos:



Otros casos

Con PHI=TAU+1 parece que no hay ninguno, y con PHI+1=TAU, solo dos casos:



PHI múltiplo de TAU

Si solo tenemos en cuenta múltiplos propios, cuyo cociente es mayor que 1, nos aparecen muchas soluciones. Las primeras son:



Si la relación de múltiplo es a la inversa, solo aparecen las soluciones ya vistas en las que TAU es el doble de PHI.

Por último, una curiosidad:

Pitagóricos

PHI y TAU son ambos catetos de una terna pitagórica. Solo se encuentran cinco soluciones:

20, 36, 60, 100, 300

Según el siguiente cuadro, en las ternas formadas sus elementos son múltiplos de las primitivas {3, 4, 5} o {9. 40, 41}.




Esta sucesión estaba inédita, y la hemos publicado en http://oeis.org/A308664. En esa página podrás leer un razonamiento de de Giovanni Resta con el que justifica que la sucesión sea finita.


  
ANEXO

Listado de la función PHI (Basic de Excel)

Public Function euler(n)
Dim f, a, e
Dim es As Boolean

'Calcula la indicatriz de Euler de un número

a = n ‘Copia el valor de n
f = 2 ‘Inicia el listado de primos
e = n ‘Inicia el valor de PHI
While f <= a ‘Recorre los primos posibles
es = False ‘Variable que indica si hemos llegado a un divisor primo o no
While a / f = a \ f ‘Si es un factor, se va eliminando del valor de n
a = a / f: es = True
Wend
If es Then e = e * (f - 1) / f ‘Si se ha encontrado un factor primo, se incorpora a PHI
If f = 2 Then f = 3 Else f = f + 2 ‘Busca el siguiente primo
Wend
euler = e
End Function


Listado de TAU
Es muy parecido al anterior


Public Function tau(n)
Dim f, a, e, exx


a = n ‘Copia el valor de n
f = 2 ‘Inicia el listado de primos
e = 1  ‘Inicia el valor de TAU
While f <= a ‘Recorre los primos posibles
exx = 0
While a / f = a \ f
a = a / f: exx = exx + 1 ‘Incrementa el exponente del factor primo encontrado
Wend
e = e * (1 + exx) ‘Construye TAU
If f = 2 Then f = 3 Else f = f + 2
Wend
tau = e
End Function



lunes, 4 de noviembre de 2019

Unidos por el SOPF



Es tradición en este blog aprovechar cuestiones surgidas en Twitter. La de hoy se basa en una planteada por Juan Carlos Amez, @juankaamez, el día 28 de septiembre de 2019.

¿Podríamos probar que para cualquier valor k existe siempre al menos un valor n que verifica que: sopf(n)=sopf(n+k)?

Como la cuestión directa puede tener una respuesta complicada, abordamos antes la inversa, que dado un N debamos encontrar el K correspondiente.

Recordemos: la función SOPF(N) es la suma de los factores primos de N tomados sin repetición. Así SOPF(6)=2+3=5 y SOPF(12)=5 también, porque ambos tienen los mismos factores primos 2 y 3.

Primera cuestión: Encontrar K para un N dado

Existe una forma sencilla de evaluar la función SOPF sin necesidad de descomponer N en factores primos. Su código para Excel puede ser este:


Public Function sopf(n)
Dim f, a, e, g

a = n
f = 2 ‘Esta variable recorrerá los primos
e = 0 ‘Aquí se sumarán los factores primos
g = 0 ‘Recogerá los divisores primos
While f <= a
While a / f = a \ f ‘Se encuentra un factor
g = f: a = a / f ‘Tomamos nota en g y eliminamos ese factor
Wend
If g <> 0 Then e = e + g: g = 0 ‘Se suman factores en SOPF
If f = 2 Then f = 3 Else f = f + 2 ‘Se buscan nuevos factores
Wend
sopf = e
End Function

Con ella podemos ir descubriendo ya las coincidencias en los valores de SOPF. En la tabla podemos comprobar algunas.


Queda claro en ella que comparten valores de SOPF aquellos números que coinciden en sus factores primos sin contar repeticiones. Los tres primeros se basan en 2+3=5, los segundos en 3+7=10 y los últimos en 2+5=7.

Basta restar dos de ellos para tener una solución a la primera cuestión:

SOPF(6)=SOPF(6+6)=SOPF(6+138)
SOPF(21)=SOPF(21+42)=SOPF(21+126)

Esto resuelve la cuestión para un N dado y K desconocido: los valores posibles de K para un N dado son infinitos. Basta aumentar los exponentes de los factores primos de N y después restar.

Esto tiene una traducción a fórmula: 
Es decir, serán valores válidos de K aquellos formados por la descomposición factorial de N multiplicada a su vez por un producto similar al que restamos una unidad. Los exponentes r, s y t pueden ser nulos (salvo uno, para evitar la solución K=0)

Por ejemplo, para 12=22*3, K podría tener cualquiera de estas estructuras:

22*3*(23-1)=84, que equivaldría a

SOPF(12)=SOPF(12+84)=SOPF(96)=5

22*3*(2*3-1)=60, luego SOPF(12)=SOPF(12+60)=SOPF(72)=5

Así que la primera cuestión ya está resuelta, con la multiplicidad de soluciones de K `para cualquier N.

Segunda cuestión: Dado un valor de K, encontrar posibles valores de N

Esta cuestión es mucho más complicada, pues los valores de N no están acotados. Por ejemplo, para K=87654321, hemos encontrado un valor de N de 13761, lo que ha supuesto recorrer más de trece mil números. Efectivamente es una solución, porque

SOPF(13761)=153, ya que 13761=32*11*139, y 3+11+139=153.

y

SOPF(13761+87654321)=SOPF(87668082)=153, porque 87668082=2*39*17*131, con lo que SOPF(87668082)=2+3+17+131=153.

No parece sencillo demostrar que la conjetura planteada sea verdadera. Son muchas las coincidencias entre sumas de primos, como 29+5=31+3=34 y la herencia de los valores de SOPF que vimos en la primera cuestión, por lo que se puede confiar en que para todo K exista un N que cumpla SOPF(N)=SOPF(N+K). Pero demostrarlo es otra cuestión bien distinta.

Sí podemos presentarlo como conjetura, y esto es lo que figura en la página web

https://www.primepuzzles.net/conjectures/conj_025.htm

rotulada como conjetura 25. En ella puedes consultar algunos intentos de demostración de la misma.

Si no se sabe demostrar la conjetura, sí se puede establecer una búsqueda del mínimo valor de N para cada K. 

Esto lo tienes publicado en http://oeis.org/A065925, y ahí remiten a la conjetura 25. 

Los primeros valores de N son 5, 2, 7, 4, 114, 2, 5, 8, 13, 10, 25, 4, 5, 2, 19, 16, 85, 6, 5, 5, 209, 22, 25, 3, 493, 26, 31, 4, 20, 2, 5, 32, 7, 34, 516, 12, 33, 38, 10, 10, 99, 6, 5, 44, 57, 46, 25, 6,…

Aquí podemos comprobar la conjetura con dos herramientas. Para Excel usaremos una “atrevida” función, que encontrará N para un K dado. La llamamos así porque se basa en un bucle que puede no tener final si la conjetura es falsa, con lo que habría que detener Excel antes de que terminara el proceso. Su código es

Function dsopf(k)
Dim d, n
d = 0
n = 2
While d = 0 ‘En este while radica el peligro, ya que puede no detenerse
If sopf(n) = sopf(n + k) Then d = n
n = n + 1
Wend
dsopf = d
End Function

Se supone definida ya la función SOPF.
Esta función devuelve un 0 si no encuentra ningún valor de N. En realidad no lo devolvería, porque la ejecución no podría detenerse. Se ve que hemos confiado en la conjetura.

Con esta función es fácil reproducir la lista de valores de N publicada en OEIS:



También podemos probar con valores grandes de K, como el número de fecha de la Navidad de este año:

DSOPF(251219)=3256.

Comprobamos: SOPF(3256)=50, SOPF(251219+3256)=SOPF(254475)=50

Parece que podemos confiar en que la conjetura sea cierta. Como Excel tiene una capacidad limitada cuando trata con números grandes, traducimos la cuestión al lenguaje PARI:

sopf(n)= my(f, s=0); f=factor(n); for(i=1, matsize(f)[1], s+=f[i, 1]); s
dsopf(k)= my(d=0,n=2);while(d==0,if(sopf(n)==sopf(n+k),d=n);n+=1);d
print(dsopf(12345678910))

Puedes copiar este código y ejecutarlo en la página


Aquí tienes el resultado: 81147.



Cambiando el ejemplo 12345678910 por otro iríamos comprobando la conjetura para diversos valores.

Este número 12345678910 nos daría problemas de lentitud en Excel, pero hasta aquí sí puede con el problema:


Por si acaso, es preferible usar PARI para evitar los problemas de la coma flotante de Excel.

Esto es lo que podemos afirmar sobre la conjetura. Hay que agradecer a Juan Carlos Amez su propuesta, pues nos ha permitido estudiar un tema interesante.



jueves, 24 de octubre de 2019

Suma de cuadrados de las cifras (9) - Relaciones entre potencias

Esta entrada culmina la serie que hemos ido publicando sobre los cuadrados de las cifras en los últimos meses.


Surgen nuevas coincidencias de sumas de cuadrados de cifras si comparamos cualquier número con sus potencias o bien entre ellas. Es inevitable que este estudio conste de un conjunto de casos, ya que no hay una teoría general que lo respalde y hay que acudir a búsquedas un poco al azar.

Cifras de un número y su cuadrado

Normalmente, salvo las potencias de 10 y sus múltiplos más pequeños, no se perciben relaciones entre las cifras de un número y las de su cuadrado. Por ello, debemos acudir a las búsquedas. En este tema usaremos la función sumacifras con parámetro 2. Esta función ya la conoces si has leído los temas anteriores de esta serie.

Comenzaremos buscando números cuya suma de cuadrados de cifras coincida con la de su cuadrado.

Cuadrado con la misma suma

Si exigimos en Excel

sumacifras(N;2)=sumacifras(N^2;2)

o en PARI

norml2(digits(n))==norml2(digits(n^2))

obtendremos los números buscados. Son estos:


Figuran en la primera columna los cuadrados, en la segunda la suma común, y en la tercera el número buscado.

Con PARI usamos el código

for(i = 1, 30000,  if(norml2(digits(i^2)) == norml2(digits(i)), print1(i, ", ")))

Resulta el mismo listado que con Excel.


1, 10, 35, 100, 152, 350, 377, 452, 539, 709, 1000, 1299, 1398, 1439, 1519, 1520, 1569, 1591, 1679, 1965, 2599, 2838, 3332, 3500, 3598, 3770, 4520, 4586, 4754, 4854, 5390, 5501, 5835, 5857, 6388, 6595, 6735, 6861, 6951, 7090, 7349, 7887, 8395, 9795, 10000, 10056,

Esta sucesión estaba inédita y la hemos publicado en https://oeis.org/A309883.

Puedes comprobar que si K pertenece a la sucesión, K*10^p, con p entero positivo, también pertenece a la misma.

Como curiosidad, entre ellos hay capicúas, como 7887, 67476 y 93939.

También se encuentran números primos; 709, 1439, 5501, 5857, 7349, 10159, 14897, 17449, 25999,…

Los únicos términos menores que 100000 de la sucesión de Fibonacci son 1 y 377.

Así podríamos seguir.


Suma del cuadrado es el doble

Ahora veremos los números que son cuadrados y la suma de los cuadrados de sus cifras es el doble que la correspondiente a su raíz cuadrada. Por ejemplo:
504^2 = 254016.

Los cuadrados de las cifras de 504 suman 5^2 + 0^2 + 4^2 = 41.

La suma en su cuadrado es 2^2 + 5^2 +4^2 + 0^2 + 1^2 +6^2 = 82, que es el doble de 41.

Los primeros números que cumplen esto son:

72, 405, 504, 720, 722, 953, 1964, 2092, 2376, 2555, 2577, 2619, 4005, 4050, 4284, 4449, 4571, 5004, 5040, 5552, 5651, 5805, 6326, 6615, 7200, 7218, 7220, 7676, 8355,…

También aquí si K pertenece a la sucesión, K*10^p, con p entero positivo, también pertenece a la misma.

Puedes plantearte como ejercicio un código PARI para este caso.
64146 es el primer capicúa que cumple la condición:

64146^2=4114709316
6^2+4^2+1^2+4^2+6^2=105
4^2+1^2+1^2+4^2+7^2+0^2+9^2+3^2+1^2+6^2=210, que es el doble de 105.

Como en el caso anterior, aparecen primos:

953, 5651, 18251, 19913, 20129, 22691, 33587, 34487,…

Cubos con igual suma

De forma similar, podemos buscar aquellos números que coinciden con su cubo en la suma de los cuadrados de las cifras.

Adaptando las técnicas que usamos para los cuadrados, es fácil ver que los primeros con ese tipo de coincidencia son los de la tabla siguiente:


1
1
1
1000
1
10
405224
65
74
1000000
1
100
405224000
65
740
1000000000
1
1000

La primera columna está formada por los cubos, la tercera por las bases y la central por la suma común.

El listado de los primeros es el siguiente:

1, 10, 74, 100, 740, 1000, 3488, 7400, 10000, 23658, 30868, 34880, 47508, 48517, 52187, 58947, 59468, 67685, 68058, 74000, 76814, 78368, 78845, 84878,
100000

También esta sucesión estaba inédita, y la hemos publicado en https://oeis.org/A309884.

Se puede engendrar en PARI con:

for(i = 1, 10^6, if(norml2(digits(i^3)) == norml2(digits(i)), print1(i, ", ")))


Cubos con suma triple

Adjuntamos los resultados sin explicación:



76, 351, 760, 1167, 1338, 1717, 2494, 2822, 3184, 3510, 5056, 5827, 6092, 6166, 6183, 7046, 7175, 7261, 7600, 8162, 8306, 8347, 8842, 8853, 9862, 10064, 10067, 10447, 11048, 11285, 11559, 11670,

Por ejemplo, 76^3=438976, y se cumple:

7^2+6^2=85
4^2+3^2+8^2+9^2+7^2+6^2=255=85*3

En PARI:

for(i = 1, 2*10^4, if(norml2(digits(i^3)) == 3*norml2(digits(i)), print1(i, ", ")))

Cuadrados con cubos

Una vez abierto el camino, no es interesante recorrer muchos casos, por lo que paramos aquí. Estos son los primeros números en los que coinciden las sumas de cuadrados de las cifras en el cuadrado y el cubo:


1, 10, 100, 1000, 4313, 4847, 5407, 5911, 6856, 7414, 8366, 9317, 10000, 10949, 12234, 13514, 13579, 13943, 17294, 21648, 21969, 22156,…

Por ejemplo, el 4847:

4847^2=23493409 y

2^2+3^2+4^2+9^2+3^2+4^2+0^2+9^2=216

4847^3=113872553423 y

1^2+1^2+3^2+8^2+7^2+2^2+5^2+5^2+3^2+4^2+2^2+3^2=216


Con PARI

for(i = 1, 10^5, if(norml2(digits(i^2)) == norml2(digits(i^3)), print1(i, ", ")))

lunes, 14 de octubre de 2019

La función sigma y sus traslados


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:



Están publicados en http://oeis.org/A002961

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(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:


CASO K=3




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)

Por último el caso de diferencia 4:


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.

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

Ordenando la búsqueda nos ha resultado


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

Para valores menores que 10000 estas son las primeras diferencias que no se dan (hay más):



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.