A308838 Orders of Parker finite fields of odd characteristic.
3, 5, 7, 9, 11, 13, 17, 19, 23, 25, 27, 31, 43, 47, 67, 243
Offset: 1
Examples
Example: The prime p=29 does not appear in the sequence because one can in fact construct a 3 X 3 magic square of distinct squares over the finite field of order 29. Construction: 9^2 | 11^2 | 1^2 6^2 | 0^2 | 14^2 12^2 | 16^2 | 8^2 The square is valid evaluated mod 29 (example independently discovered by Woll and Cain). That is to say the entries of each row, column, and the two main diagonals sum to a multiple of 29. Example: The fields corresponding to p^n = 3, 5, 7, 9, 11, and 13 are all Parker because each contains at most 7 distinct squared entries and cannot therefore provide the 9 distinct squares required for a magic square.
Links
- Onno M. Cain, Gaussian Integers, Rings, Finite Fields and the Magic Square of Squares, arXiv:1908.03236 [math.RA], 2019.
- Christian Woll, A Partial Residue Categorization of the Magic Square of Squares, arXiv:1809.03067 [math.NT], 2018.
- Giancarlo Labruna, Magic Squares of Squares of Order Three Over Finite Fields, (2018). Theses, Dissertations and Culminating Projects. 138.
- Matt Parker & Brady Haran, The Parker Square, Numberphile video (2016).
Programs
-
Sage
def msos_search(F, single=False): squares = {x^2 for x in F} MSOS = [] E = 0 for A, I in Subsets(squares, 2): if A + I != 2*E: continue C, G = 1, -1 B = 3*E - A - C D = 3*E - A - G F = 3*E - C - I H = 3*E - G - I if len(squares & {B,D,F,H}) < 4: continue if len({A,B,C,D,E,F,G,H,I}) < 9: continue if single: return [A,B,C,D,E,F,G,H,I] MSOS.append([A,B,C,D,E,F,G,H,I]) E = 1 sequences = [] for A, I in Subsets(squares, 2): if A + I != 2*E: continue for C, G in sequences: B = 3*E - A - C D = 3*E - A - G F = 3*E - C - I H = 3*E - G - I if len(squares & {B,D,F,H}) < 4: continue if len({A,B,C,D,E,F,G,H,I}) < 9: continue if single: return [A,B,C,D,E,F,G,H,I] MSOS.append([A,B,C,D,E,F,G,H,I]) sequences.append((A,I)) return MSOS for q in range(3, 500, 2): if len(factor(q)) > 1: continue print(q, msos_search(GF(q), single=True))
Comments