OFFSET
1,2
COMMENTS
A number k is cyclic (A003277) if and only if every group of order k is cyclic, equivalently if and only if gcd(k, A000010(k)) = 1, where A000010 is Euler's totient.
By analogy with the Sophie Germain primes (A005384), k is a Sophie Germain cyclic number if and only if both k and 2*k+1 are cyclic. Introduced by J. E. Cohen (2025).
C. Pomerance has announced (see Cohen, 2025) a proof that this sequence is infinite, with the number of terms not exceeding x asymptotic to c*x/(exp(gamma)*log(log(log(x))))^2 for some constant c > 0, where gamma is the Euler-Mascheroni constant.
LINKS
David Radcliffe, Table of n, a(n) for n = 1..10000
Joel E. Cohen, Conjectures about primes and cyclic numbers, arXiv:2508.08335 [math.NT], 2025.
Josué Alexander Ibarra, A counterexample to a subadditivity conjecture of Cohen for Sophie Germain cyclic numbers, arXiv:2607.09793 [math.NT], 2026.
EXAMPLE
15 is a term: both 15 and 2*15+1 = 31 are cyclic, since gcd(15, phi(15)) = gcd(15, 8) = 1 and gcd(31, phi(31)) = gcd(31, 30) = 1.
13 is not a term: 13 is cyclic, but 2*13+1 = 27 is not, since gcd(27, phi(27)) = gcd(27, 18) = 9 <> 1.
MAPLE
cyc := n -> igcd(n, numtheory:-phi(n)) = 1:
select(n -> cyc(n) and cyc(2*n+1), [$1..300]);
MATHEMATICA
cyclicQ[n_] := GCD[n, EulerPhi[n]] == 1;
Select[Range[300], cyclicQ[#] && cyclicQ[2 # + 1] &]
PROG
(PARI)
iscyc(k) = gcd(k, eulerphi(k))==1
isok(k) = iscyc(k) && iscyc(2*k+1)
select(isok, [1..300])
(Python)
from sympy import totient
from math import gcd
cyc = lambda n: gcd(n, totient(n)) == 1
print([n for n in range(1, 301) if cyc(n) and cyc(2*n + 1)])
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
Josué Alexander Ibarra, Jun 22 2026
STATUS
approved