The Jacobi order 9 primes: two other quadratics 

 

From:  John.Cosgrave@spd.dcu.ie  
To:  Andrew Granville (E-mail)
Cc:  John.Cosgrave@spd.dcu.ie
Subject:  3m^2+3m+1
Sent:  Fri, 17 Dec 2004 15:42:34 +0000

Dear Andrew, You have Maple, don't you? Here, at home, I've got Maple 6. I'm taking the liberty of sending you a small Maple worksheet I started this morning, and which I've just completed. I've removed all output to reduce its size. I hope it's free of errors, and that you will find it of interest. I've never tried to attach a file from here through the university remote site, so I'm just hoping this works. Take care, John
 

 

p = `+`(`*`(27, `*`(`^`(X, 2))), `*`(27, `*`(X)), 7) fell into my lap on the evening of Wed 15th December 2004 


The following conjecture
appears to be true (its proof is the real problem). `*`(`^`(factorial(`*`(`+`(p, `-`(1)), `/`(1, 3))), 3)) = 1 (mod p) for prime p = 1 (mod 3) if and only if p = `+`(`*`(27, `*`(`^`(X, 2))), `*`(27, `*`(X)), 7) for some integer X. It (the above polynomial) came about from considering `+`(`*`(3, `*`(`^`(m, 2))), `*`(3, `*`(m)), 1) with m restricted to m = 3X + 1.  Andrew saw it too - via a different route - at the same time! 

 

`+`(`*`(27, `*`(`^`(X, 2))), `*`(27, `*`(X)), 7) forced the resulting primes to have a single '3' in the prime factorisation of (`+`(p, `-`(1))). At the time I thought - such an ugly polynomial, but with such a beautiful consequence. In this worksheet I simply want to emphasise the centrality of the original polynomial `+`(`*`(3, `*`(`^`(m, 2))), `*`(3, `*`(m)), 1) (I believe an eventual proof of the above conjecture will come from somehow exploiting the fact that consecutive cubes mod p are solutions of the congruence `+`(`*`(3, `*`(`^`(x, 2))), `*`(3, `*`(x)), 1) = 0 (mod p); I've put in a lot of work on that, although with no success so far...) 

 

Weeks ago - while seeking examples of primes p (having what I would like to call the alpha-structure): 

 

p = `+`(`*`(3, `*`(`^`(2, alpha), `*`(q[1], `*`(q[2])))), 1), with q[1], q[2] primes (`<`(3, q[1])) subject to q[2] = `+`(`*`(`^`(2, alpha), `*`(q[1])), 1) or q[2] = `+`(`*`(`^`(2, alpha), `*`(q[1])), `-`(1)),  

 

hoping that all generated primes would satisfy `*`(`^`(factorial(`*`(`+`(p, `-`(1)), `/`(1, 3))), 3)) = 1 (mod p), I did the following type of calculation: 

> P[1,3] := proc(p) local r, k; r := 1;
for k from 2 to (p-1)/3 do
r := mods(r*k, p) od; r; end:
 

>
 

In the following I should have started the 'k' at 3, to push up the least value of q[1] (= ithprime(k)) to 5, but, with hindsight, I'm happy to have done a foolish thing, because without it I would probably not have stumbled upon a new insight, the correct way to view `+`(`*`(27, `*`(`^`(X, 2))), `*`(27, `*`(X)), 7) (explained in its proper place below). 

> alpha := 1: for k to 100 do         
# q[1] being ithprime(k)
if isprime(2^alpha*ithprime(k)+1)
and isprime(2^alpha*3*ithprime(k)*(2^alpha*ithprime(k)+1)+1)
then print(2^alpha*3*ithprime(k)*(2^alpha*ithprime(k)+1)+1,
P[1,3](2^alpha*3*ithprime(k)*(2^alpha*ithprime(k)+1)+1)^3
mod (2^alpha*3*ithprime(k)*(2^alpha*ithprime(k)+1)+1)) fi od;
 

61, 1 (9.1)
 

127, 19 (9.1)
 

331, 1 (9.1)
 

10267, 1 (9.1)
 

360187, 1 (9.1)
 

>
 

Seeing that (127, 19) output - three weeks ago today - gave me a terrible shock (even with those four 1's), until I realised what was going on: with 'k' - by default - starting at '1', the q[1] that was producing that offending '127' was an extra '3' in the prime factorisation of (`+`(127, -1)): 127 - 1 = (2^1)*[3]*3[an extra 3]*7. Relief all round...   

 

But, did the '19' in (127, 19) correspond to anything? Of course it did: 

> 19^3 mod 127;
 

1 (9.2)
 

>
 

Thus, while neither factorial(`+`(`*`(`/`(1, 3), `*`(`+`(127, -1))))) nor `*`(`^`(factorial(`+`(`*`(`/`(1, 3), `*`(`+`(127, -1))))), 3))came to be 1 (mod 127), `*`(`^`(factorial(`+`(`*`(`/`(1, 3), `*`(`+`(127, -1))))), 9))did come out to be 1 mod 127.  

 

The obvious thought - at the time a distraction (one of simply too many others all coming in at the same time), but to revisit at some future date - was that if one modified the alpha-structure for prime p to allow q[1] to be 3 then, if p doesn't have the beautiful property that `*`(`^`(factorial(`*`(`+`(p, `-`(1)), `/`(1, 3))), 3)) = 1 (mod p), perhaps it has the (still quite lovely) property that `*`(`^`(factorial(`*`(`+`(p, `-`(1)), `/`(1, 3))), 9)) = 1 (mod p) as a compensation. In short, these primes p could be of interest: 

p = `+`(`*`(`^`(2, alpha), `*`(`^`(3, 2), `*`(q[2]))), 1), with prime q[2] = `+`(`*`(3, `*`(`^`(2, alpha))), 1)  or q[2] = `+`(`*`(3, `*`(`^`(2, alpha))), `-`(1)) 

 

Here, now, are some of them. I don't allow alpha to get beyond 6 where a P[1, 3](p) computation is concerned, because that takes a serious amount of time to compute. 

> # here p = 2^alpha*9*(2^alpha*3+1)+1
for alpha to 50 do
if isprime(2^alpha*9*(2^alpha*3+1)+1)
then print(alpha, 2^alpha*9*(2^alpha*3+1)+1) fi od;
 

1, 127 (9.3)
 

3, 1801 (9.3)
 

4, 7057 (9.3)
 

10, 28320769 (9.3)
 

34, 7968993439997145120769 (9.3)
 

39, 8160249282403694731591681 (9.3)
 

> # here p = 2^alpha*9*(2^alpha*3-1)+1
for alpha to 50 do
if isprime(2^alpha*9*(2^alpha*3-1)+1)
then print(alpha, 2^alpha*9*(2^alpha*3-1)+1) fi od;
 

2, 397 (9.4)
 

3, 1657 (9.4)
 

5, 27361 (9.4)
 

6, 110017 (9.4)
 

9, 7073281 (9.4)
 

17, 463855288321 (9.4)
 

20, 29686804512769 (9.4)
 

30, 31128880614721191937 (9.4)
 

32, 498062089951503187969 (9.4)
 

39, 8160249282393799126941697 (9.4)
 

>
 

Now to compute those orders, to see they all pick up an extra '3' 

> with(numtheory):   # for use of order command
 

> # here p = 2^alpha*9*(2^alpha*3+1)+1
for alpha to 8 do
if isprime(2^alpha*9*(2^alpha*3+1)+1)
then print(alpha, 2^alpha*9*(2^alpha*3+1)+1,
order(P[1,3](2^alpha*9*(2^alpha*3+1)+1), 2^alpha*9*(2^alpha*3+1)+1)) fi od;
 

1, 127, 9 (9.5)
 

3, 1801, 9 (9.5)
 

4, 7057, 9 (9.5)
 

>
 

> # here p = 2^alpha*9*(2^alpha*3-1)+1
for alpha to 8 do
if isprime(2^alpha*9*(2^alpha*3-1)+1)
then print(alpha, 2^alpha*9*(2^alpha*3-1)+1,
order(P[1,3](2^alpha*9*(2^alpha*3-1)+1), 2^alpha*9*(2^alpha*3-1)+1)) fi od;
 

2, 397, 9 (9.6)
 

3, 1657, 9 (9.6)
 

5, 27361, 9 (9.6)
 

6, 110017, 9 (9.6)
 

>
 

Now to come to the point:  

the essential polynomial is `+`(`*`(3, `*`(`^`(m, 2))), `*`(3, `*`(m)), 1) in general,
rather than `+`(`*`(27, `*`(`^`(m, 2))), `*`(27, `*`(m)), 7) in particular 

 

Of course the primes we're really interested in happen to be those of the form `+`(`*`(3, `*`(`^`(m, 2))), `*`(3, `*`(m)), 1), where we restrict m to the arithmetic progression (3M+1), but look at the lovely things that happen when we allow m to run through the other two related progressions, 3M and 3M+2: 

 

First, our old friends, the beautiful primes: 

> for m from 1 by 3 while 3*m^2+3*m+1 < 10^5 do
if isprime(3*m^2+3*m+1)
then print(3*m^2+3*m+1, ifactor(3*m^2+3*m),
order(P[1,3](3*m^2+3*m+1), 3*m^2+3*m+1))
fi;
od;
 

7, `*`(``(2), `*`(``(3))), 3 (9.7)
 

61, `*`(`^`(``(2), 2), `*`(``(3), `*`(``(5)))), 3 (9.7)
 

331, `*`(``(2), `*`(``(3), `*`(``(5), `*`(``(11))))), 3 (9.7)
 

547, `*`(``(2), `*`(``(3), `*`(``(7), `*`(``(13))))), 3 (9.7)
 

1951, `*`(``(2), `*`(``(3), `*`(`^`(``(5), 2), `*`(``(13))))), 3 (9.7)
 

2437, `*`(`^`(``(2), 2), `*`(``(3), `*`(``(7), `*`(``(29))))), 3 (9.7)
 

3571, `*`(``(2), `*`(``(3), `*`(``(5), `*`(``(7), `*`(``(17)))))), 1 (9.7)
 

4219, `*`(``(2), `*`(``(3), `*`(``(19), `*`(``(37))))), 1 (9.7)
 

7351, `*`(``(2), `*`(``(3), `*`(`^`(``(5), 2), `*`(`^`(``(7), 2))))), 3 (9.7)
 

8269, `*`(`^`(``(2), 2), `*`(``(3), `*`(``(13), `*`(``(53))))), 3 (9.7)
 

9241, `*`(`^`(``(2), 3), `*`(``(3), `*`(``(5), `*`(``(7), `*`(``(11)))))), 3 (9.7)
 

10267, `*`(``(2), `*`(``(3), `*`(``(29), `*`(``(59))))), 3 (9.7)
 

13669, `*`(`^`(``(2), 2), `*`(``(3), `*`(``(17), `*`(``(67))))), 1 (9.7)
 

23497, `*`(`^`(``(2), 3), `*`(``(3), `*`(``(11), `*`(``(89))))), 3 (9.7)
 

25117, `*`(`^`(``(2), 2), `*`(``(3), `*`(``(7), `*`(``(13), `*`(``(23)))))), 1 (9.7)
 

55897, `*`(`^`(``(2), 3), `*`(``(3), `*`(``(17), `*`(``(137))))), 1 (9.7)
 

60919, `*`(``(2), `*`(``(3), `*`(``(11), `*`(``(13), `*`(``(71)))))), 3 (9.7)
 

74419, `*`(``(2), `*`(``(3), `*`(``(79), `*`(``(157))))), 3 (9.7)
 

89269, `*`(`^`(``(2), 2), `*`(``(3), `*`(``(43), `*`(``(173))))), 1 (9.7)
 

92401, `*`(`^`(``(2), 4), `*`(``(3), `*`(`^`(``(5), 2), `*`(``(7), `*`(``(11)))))), 3 (9.7)
 

Here m = 3M. (`+`(p, `-`(1)))'s prime factorisation has to pick up at least one extra 3, and in certain cases some others, but always the order seems to be fixed at 9: 

> for m from 3 by 3 while 3*m^2+3*m+1 < 10^5 do
if isprime(3*m^2+3*m+1)
then print(3*m^2+3*m+1, ifactor(3*m^2+3*m),
order(P[1,3](3*m^2+3*m+1), 3*m^2+3*m+1))
fi;
od;
 

37, `*`(`^`(``(2), 2), `*`(`^`(``(3), 2))), 9 (9.8)
 

127, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(7)))), 9 (9.8)
 

271, `*`(``(2), `*`(`^`(``(3), 3), `*`(``(5)))), 9 (9.8)
 

1801, `*`(`^`(``(2), 3), `*`(`^`(``(3), 2), `*`(`^`(``(5), 2)))), 9 (9.8)
 

2269, `*`(`^`(``(2), 2), `*`(`^`(``(3), 4), `*`(``(7)))), 9 (9.8)
 

2791, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(31))))), 9 (9.8)
 

5419, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(7), `*`(``(43))))), 9 (9.8)
 

6211, `*`(``(2), `*`(`^`(``(3), 3), `*`(``(5), `*`(``(23))))), 9 (9.8)
 

7057, `*`(`^`(``(2), 4), `*`(`^`(``(3), 2), `*`(`^`(``(7), 2)))), 9 (9.8)
 

12097, `*`(`^`(``(2), 6), `*`(`^`(``(3), 3), `*`(``(7)))), 9 (9.8)
 

13267, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(11), `*`(``(67))))), 9 (9.8)
 

19927, `*`(``(2), `*`(`^`(``(3), 5), `*`(``(41)))), 9 (9.8)
 

24571, `*`(``(2), `*`(`^`(``(3), 3), `*`(``(5), `*`(``(7), `*`(``(13)))))), 9 (9.8)
 

26227, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(31), `*`(``(47))))), 9 (9.8)
 

33391, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(7), `*`(``(53)))))), 9 (9.8)
 

35317, `*`(`^`(``(2), 2), `*`(`^`(``(3), 4), `*`(``(109)))), 9 (9.8)
 

45757, `*`(`^`(``(2), 2), `*`(`^`(``(3), 2), `*`(``(31), `*`(``(41))))), 9 (9.8)
 

50311, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(13), `*`(``(43)))))), 9 (9.8)
 

65269, `*`(`^`(``(2), 2), `*`(`^`(``(3), 2), `*`(`^`(``(7), 2), `*`(``(37))))), 9 (9.8)
 

70687, `*`(``(2), `*`(`^`(``(3), 3), `*`(``(7), `*`(``(11), `*`(``(17)))))), 9 (9.8)
 

73477, `*`(`^`(``(2), 2), `*`(`^`(``(3), 2), `*`(``(13), `*`(``(157))))), 9 (9.8)
 

82171, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(11), `*`(``(83)))))), 9 (9.8)
 

88237, `*`(`^`(``(2), 2), `*`(`^`(``(3), 3), `*`(``(19), `*`(``(43))))), 9 (9.8)
 

Here m = 3M+2. Again, (`+`(p, `-`(1)))'s prime factorisation has to pick up at least one extra 3, and in certain cases some others, but always the order seems to be fixed at 9: 

> for m from 2 by 3 while 3*m^2+3*m+1 < 10^5  do
if isprime(3*m^2+3*m+1)
then print(3*m^2+3*m+1, ifactor(3*m^2+3*m),
order(P[1,3](3*m^2+3*m+1), 3*m^2+3*m+1))
fi;
od;
 

19, `*`(``(2), `*`(`^`(``(3), 2))), 9 (9.9)
 

397, `*`(`^`(``(2), 2), `*`(`^`(``(3), 2), `*`(``(11)))), 9 (9.9)
 

631, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(7))))), 9 (9.9)
 

919, `*`(``(2), `*`(`^`(``(3), 3), `*`(``(17)))), 9 (9.9)
 

1657, `*`(`^`(``(2), 3), `*`(`^`(``(3), 2), `*`(``(23)))), 9 (9.9)
 

3169, `*`(`^`(``(2), 5), `*`(`^`(``(3), 2), `*`(``(11)))), 9 (9.9)
 

4447, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(13), `*`(``(19))))), 9 (9.9)
 

5167, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(7), `*`(``(41))))), 9 (9.9)
 

11719, `*`(``(2), `*`(`^`(``(3), 3), `*`(``(7), `*`(``(31))))), 9 (9.9)
 

16651, `*`(``(2), `*`(`^`(``(3), 2), `*`(`^`(``(5), 2), `*`(``(37))))), 9 (9.9)
 

19441, `*`(`^`(``(2), 4), `*`(`^`(``(3), 5), `*`(``(5)))), 9 (9.9)
 

22447, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(29), `*`(``(43))))), 9 (9.9)
 

27361, `*`(`^`(``(2), 5), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(19))))), 9 (9.9)
 

42841, `*`(`^`(``(2), 3), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(7), `*`(``(17)))))), 9 (9.9)
 

47251, `*`(``(2), `*`(`^`(``(3), 3), `*`(`^`(``(5), 3), `*`(``(7))))), 9 (9.9)
 

49537, `*`(`^`(``(2), 7), `*`(`^`(``(3), 2), `*`(``(43)))), 9 (9.9)
 

59221, `*`(`^`(``(2), 2), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(7), `*`(``(47)))))), 9 (9.9)
 

75367, `*`(``(2), `*`(`^`(``(3), 2), `*`(``(53), `*`(``(79))))), 9 (9.9)
 

81181, `*`(`^`(``(2), 2), `*`(`^`(``(3), 2), `*`(``(5), `*`(``(11), `*`(``(41)))))), 9 (9.9)
 

87211, `*`(``(2), `*`(`^`(``(3), 3), `*`(``(5), `*`(``(17), `*`(``(19)))))), 9 (9.9)
 

96661, `*`(`^`(``(2), 2), `*`(`^`(``(3), 3), `*`(``(5), `*`(``(179))))), 9 (9.9)
 

>
 

In fact the following appears to be true: `*`(`^`(factorial(`*`(`+`(p, `-`(1)), `/`(1, 3))), 9)) = 1 (mod p) (but not `*`(`^`(factorial(`*`(`+`(p, `-`(1)), `/`(1, 3))), 3)) = 1 (mod p)) for prime p = 1 (mod 3) if and only if p = `+`(`*`(3, `*`(`^`(m, 2))), `*`(3, `*`(m)), 1) for some integer `<>`(m, 1) (mod 3). (i.e., ord[factorial(`*`(`+`(p, `-`(1)), `/`(1, 3)))](p) = 9). Not quite as beautiful a result as the original, but it does appear to be more deterministic:  

 

rigid '9', rather than 1 or 3.