lunes, 29 de mayo de 2023

Generación de primos sumando cuadrados y otros (1)

En mis exploraciones por la página OEIS me he encontrado con una sucesión de primos en la que a cada término le sigue el menor primo cuya diferencia con el anterior es un cuadrado (https://oeis.org/A073609). He pensado en ampliar el tema a diferencias de otro tipo, no cuadrados, para descubrir algunas posibles propiedades.

La sucesión es claramente dependiente de su inicio, que en este caso es el 2, pero para cualquier primo con que iniciemos, producirá un siguiente primo único, diferente a estos o coincidente. Los términos publicados son los siguientes, con inicio en 2:

2, 3, 7, 11, 47, 83, 227, 263, 587, 911, 947, 983, 1019, 1163, 1307, 1451, 1487, 1523, 1559, 2459, 3359, 4259, 4583, 5483, 5519, 5843, 5879, 6203, 6779, 7103, 7247, 7283, 7607, 7643, 8219, 8363, 10667, 11243, 11279, 11423, 12323, 12647, 12791, 13367,...

No es difícil, dado un número primo, encontrar otro primo, el menor posible, que se diferencie del primero en un cuadrado. La función en VBA de Excel puede ser la siguiente:

Function primsalto(a) As Long

Dim p, prim,d As Long

Dim sale As Boolean

if not esprimo(a) then primsalto=0:exit function ‘No es primo y se asigna un cero

p = primprox(a): sale = False: prim = 0 ‘Se van buscando los siguientes primos

While Not sale

d=p-a ‘Se calcula la diferencia

if escuad(d) then prim=p:sale=true ‘Si la diferencia es cuadrada, tenemos la solución

p=primprox(p) ‘Se sigue con el siguiente primo

wend

primsalto=prim ‘Se encontró

End Function

Hay que usar las funciones ESCUAD y PRIMPROX, que se pueden buscar en nuestro blog.

Con ella, comenzando, por ejemplo en el 7, se construye fácilmente un conjunto dentro de la sucesión:

Si elegimos un primo que no figure en la sucesión, como el 13, construiremos otra similar, que, en este caso sería:
 

En este caso nos devuelve otra sucesión cuyos primeros términos no coinciden con los anteriores. Podía haber un elemento común, con lo que ambas sucesiones coincidirían totalmente a partir de él. Volveremos a ese tema.

En la sucesión de OEIS citada se organiza la búsqueda con un orden distinto, pues para cada primo se le van sumando cuadrados hasta llegar a otro primo. El código PARI es muy sintético y lo copiamos aquí.

print1(a=2, ", "); for(n=1, 43, k=1; while(!isprime(b=a+k^2), k++); print1(a=b, ", "))

Usa la instrucción print para asignar también valores a las variables. No lo habíamos visto hasta ahora, y es ingenioso.

Cuestiones diversas

Naturaleza de los cuadrados

Para primos mayores que 6, en cada inicio de sucesión, si se llega a un tipo 36k+p, siendo p primo del tipo 6q+5, todos los cuadrados que se añadan en este proceso serán múltiplos de 36, con lo que el tipo inicial 36k+p se mantendrá.

Efectivamente, si le sumo otro cuadrado, deberá ser par, para que la suma siga siendo impar, y también ha de ser  múltiplo de 3, pues, en caso contrario, sería uno de los tipos 6m+2 o 6m+4, y resultaría:

36k+p+(6m+2)² =36(k+m²)+24m+4+p

36k+p+(6m+4)² =36(k+m²)+48m+16+p

Si p=6k+5 no valen estos casos, pues 4+p y 16+p serían múltiplos de 3, con lo que el resultado final no sería primo. Por tanto, el cuadrado ha de ser múltiplo de 36.

Si p=6k+1, puede no ser el salto de 36k, sino otro cualquiera par, como 4, 16, 64 o 100.

Observamos algunos inicios:

Inicio 37

Este primo es del tipo 6k+1, por lo que el cuadrado que se suma no ha de ser múltiplo de 36, pero el siguiente, 41, es del tipo 6k+5, y a partir de él, todos son del mismo tipo. A esta situación se llegará siempre. Es fácil razonarlo.

36k+6q+1+(6m+2)² =36(k+m²)+24m+4+6q+1=6h+5

36k+6q+1+(6m+4)² =36(k+m²)+48m+16+6q+1=6h+5

Lo vemos en la imagen:

 


Todos los restos módulo 6 valen 5, y todas las diferencias múltiplos de 36 a partir del 41.

Inicio 47

Este primo es del tipo 6k+5, luego todos los cuadrados serán múltiplos de 36

 


Primos consecutivos

Hemos visto que el primo 37, con un cuadrado se ha convertido en su consecutivo. En este caso, con cuadrado igual a 4. Esto será frecuente, pero habrá otros ejemplos. En un primer intento, todos los casos hasta el valor de 1000 presentan una diferencia de 4. El siguiente cuadrado par, 16, se alcanza por primera vez en el par 1831, 1847. La siguiente diferencia de 64 no se alcanza para valores inferiores a 25000. Con el siguiente código, adaptado de OEIS, hemos encontrado dos pares de primos consecutivos con diferencia 64.

primosalto(n)={my(k=1,b);while(!isprime(b=n+k^2), k++);b}

forprime(i=2,2000,p=nextprime(i+1) ;q=primosalto(i);if(p==q&&p-i==16,print(i," ",p)))

Son estos: (89689, 89753) y (107377, 107441)

Los primeros casos para cada cuadrado están publicados en https://oeis.org/A138198:

2, 7, 1831, 9551, 89689, 396733, 11981443, 70396393, 1872851947, 10958687879, 47203303159, 767644374817, 8817792098461, 78610833115261, 497687231721157, 2069461000669981, 22790428875364879, 78944802602538877....

Primos comunes a dos sucesiones

Se podría preguntar si estas sucesiones son disjuntas o existen elementos comunes, y la respuesta es que sí los hay. Hemos usado la siguiente función para detectar si un número primo pertenece a la sucesión iniciada con otro primo menor, al que llamaremos antecedente.

function numsaltos$(n)

dim s$

dim i,k

k=0 ‘Contador de soluciones

i=2 ‘Primer inicio primo

while i<=n and k<2

if n=primsalto(i) then k=k+1:s=s+str$(i)+", "’Nueva solución

i=primprox(i)’Siguiente primo posible

wend

if k>=2 then numsaltos=str$(ajusta(k))+". "+s else numsaltos="NO"

end function ‘Devuelve un par de soluciones o un “NO”

Los primeros elementos comunes, seguidos por dos antecedentes son:

41  5,  37

47  11,  31

83  47,  79

89  53,  73

107 71,  103

167 131,  151

173  29,  137

197 181,  193

 Por ejemplo, 167 pertenece a las sucesiones

131, 167, 311, 347, 383

151, 167, 311, 347, 383

Es evidente que, a partir de un elemento común, todos lo son.

Primos sin antecedentes

Si modificamos la función numsaltos para que devuelva sólo el número de antecedentes, obtendremos otras soluciones interesantes:

Estos serían inicio de sucesión pero no pertenecerían a ninguna otra. Basta buscar aquellos primos p en los que numsaltos(p)=0. Los primeros son estos:

2, 5, 13, 19, 29, 31, 37, 43, 61, 67, 73, 79, 103, 109, 127, 139, 151, 157, 163, 179, 181, 191, 193, 199, 211, 223, 229, 241, 271, 277, 283, 313, 331, 337, 349, 359, 367, 373, 379, 397, 409, 421, 431, 433,...

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

No hay comentarios: