login
a(n) = 2^n*t + 1 where t is the least x such that there exists an r in the range 2 <= r <= x+1 that is coprime to 2^n*x + 1 and has multiplicative order 2^n modulo 2^n*x + 1.
0

%I #73 Apr 25 2024 13:56:50

%S 3,5,17,193,353,641,769,10753,10753,13313,12289,114689,114689,163841,

%T 786433,786433,6684673,13631489,5767169,7340033,111149057,104857601,

%U 167772161,167772161,469762049,2483027969,2281701377,3221225473,12348030977,52613349377

%N a(n) = 2^n*t + 1 where t is the least x such that there exists an r in the range 2 <= r <= x+1 that is coprime to 2^n*x + 1 and has multiplicative order 2^n modulo 2^n*x + 1.

%C r^(2^(n-1)) == -1 (mod a(n)).

%C Is there a proof that a(n) always exists?

%e n | t | r | 2^n*t+1

%e ---------------------

%e 1 | 1 | 2 | 3

%e 2 | 1 | 2 | 5

%e 3 | 2 | 2 | 17

%e 4 | 12 | 3 | 193

%e 5 | 11 | 6 | 353

%o (Python)

%o def a(n):

%o t = 1

%o while True:

%o a_n = (t << n) + 1

%o for r in range(2, t+2):

%o if pow(r, 1 << (n-1), a_n) + 1 == a_n:

%o return a_n

%o t += 1

%o print([a(n) for n in range(1,31)])

%o (PARI) isok(t, n) = for (r=2, t+1, if ((gcd(r, 2^n*t + 1)==1) && znorder(Mod(r, 2^n*t + 1)) == 2^n, return(1))); return(0);

%o a(n) = my(t=1); while (!isok(t, n), t++); 2^n*t + 1; \\ _Michel Marcus_, Mar 17 2024

%Y Cf. A035089.

%K nonn

%O 1,1

%A _DarĂ­o Clavijo_, Mar 03 2024