cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A301916 Primes which divide numbers of the form 3^k + 1.

Original entry on oeis.org

2, 5, 7, 17, 19, 29, 31, 37, 41, 43, 53, 61, 67, 73, 79, 89, 97, 101, 103, 113, 127, 137, 139, 149, 151, 157, 163, 173, 193, 197, 199, 211, 223, 233, 241, 257, 269, 271, 281, 283, 293, 307, 317, 331, 337, 349, 353, 367, 373, 379, 389, 397, 401, 409, 439
Offset: 1

Views

Author

Luke W. Richards, Mar 28 2018

Keywords

Comments

This sequence can be used to factor P-1 values for prime candidates of the form 3^k+2, to aid with primality testing.
a(1) = 2 divides every number of the form 3^k+1. It is the only term with this property.
For k > 2, A000040(k) is a member if and only if A062117(k) is even. - Robert Israel, May 23 2018

Examples

			Every value of 3^k+1 is an even number, so 2 is in the sequence.
No values of 3^k+1 is ever a multiple of 3 for any integer k, so 3 is not in the sequence.
3^2+1 = 10, which is a multiple of 5, so 5 is in the sequence.
		

Crossrefs

Programs

  • Maple
    f:= p -> numtheory:-order(3,p)::even:
    f(2):= true:
    select(isprime and f, [2,seq(p,p=5..1000,2)]); # Robert Israel, May 23 2018
  • Mathematica
    Join[{2}, Select[Range[5, 1000, 2], PrimeQ[#] && EvenQ@ MultiplicativeOrder[3, #]&]] (* Jean-François Alcover, Feb 02 2023 *)
  • PARI
    isok(p)=if (p != 3, m = Mod(3, p); nb = znorder(m); for (k=1, nb, if (m^k == Mod(-1, p), return(1)););); return(0); \\ Michel Marcus, May 18 2018
    
  • PARI
    list(lim)=my(v=List([2]),t); forfactored(n=4,lim\1+1, if(n[2][,2]==[1]~, my(p=n[1],m=Mod(3,p)); for(k=2,znorder(m,t), m*=3; if(m==-1, listput(v,p); break))); t=n); Vec(v) \\ Charles R Greathouse IV, May 23 2018
    
  • PARI
    isok(p)=isprime(p)&&if(p<4,p==2,znorder(Mod(3,p))%2==0) \\ Jeppe Stig Nielsen, Jun 27 2020
    
  • PARI
    isok(p)=!isprime(p)&&return(0); p<4&&return(p==2); s=valuation(p-1,2); Mod(3,p)^((p-1)>>s)!=1 \\ Jeppe Stig Nielsen, Jun 27 2020