Advertisement
MartinBrandenburg

Great common divisor with powers of linear polynomials

Feb 19th, 2020
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.96 KB | None | 0 0
  1. # The following code is written in the language GAP: https://www.gap-system.org/
  2. # See https://mathoverflow.net/questions/352962 for more context.
  3.  
  4.  
  5. # computes the list of primes p such that p - 1 divides n - 1
  6. # equivalently, the prime field F_p is an n-ring.
  7.  
  8. myPrimes := function(n)
  9. local L,d;
  10. L := [];
  11. for d in DivisorsInt(n-1) do
  12. if IsPrimeInt(d+1) then
  13. Add(L,d+1);
  14. fi;
  15. od;
  16. return L;
  17. end;
  18.  
  19. # checks if n - 1 is not divisible by any p^k - 1 with k > 1;
  20. # we then say that n is special at p.
  21. # this is equivalent to saying that F_p is the only n-field of char. p.
  22.  
  23. isSpecialAt := function(n,p)
  24. local k;
  25. for k in [2..n] do
  26. if (n-1) mod (p^k-1) = 0 then
  27. return false;
  28. fi;
  29. od;
  30. return true;
  31. end;
  32.  
  33. # checks for all s <= n <= t and all odd primes p for which n is special
  34. # if the gcd of all (x+i)^n - (x+i) for i=0,..,p-1 is x^p - x.
  35. # also prints out the first i when the gcd has been found (often it's 1).
  36.  
  37. testMe := function(s,t)
  38. local i,x,n,p,g,found;
  39. for n in [s..t] do
  40. for p in myPrimes(n) do
  41. if isSpecialAt(n,p) and p > 2 then
  42. Print([n,p]);
  43. x := Indeterminate(GF(p),"x");
  44. g := x^n - x;
  45. found := false;
  46. for i in [1..p-1] do
  47. g := Gcd(g,(x+i)^n - (x+i));
  48. if (g = x^p - x) then
  49. found := true;
  50. Print(" ok at ",i,"\n");
  51. break;
  52. fi;
  53. od;
  54. if (found = false) then
  55. Print(" not ok!\n");
  56. fi;
  57. fi;
  58. od;
  59. od;
  60. end;
  61.  
  62.  
  63. # Here is the result of the test function:
  64.  
  65. gap> testMe(2,200);
  66. [ 3, 3 ] ok at 1
  67. [ 5, 3 ] ok at 1
  68. [ 5, 5 ] ok at 1
  69. [ 7, 3 ] ok at 2
  70. [ 7, 7 ] ok at 1
  71. [ 9, 5 ] ok at 1
  72. [ 11, 3 ] ok at 1
  73. [ 11, 11 ] ok at 1
  74. [ 13, 3 ] ok at 2
  75. [ 13, 5 ] ok at 2
  76. [ 13, 7 ] ok at 1
  77. [ 13, 13 ] ok at 1
  78. [ 15, 3 ] ok at 1
  79. [ 17, 5 ] ok at 1
  80. [ 17, 17 ] ok at 1
  81. [ 19, 3 ] ok at 2
  82. [ 19, 7 ] ok at 1
  83. [ 19, 19 ] ok at 1
  84. [ 21, 3 ] ok at 1
  85. [ 21, 5 ] ok at 4
  86. [ 21, 11 ] ok at 1
  87. [ 23, 3 ] ok at 1
  88. [ 23, 23 ] ok at 1
  89. [ 25, 7 ] ok at 3
  90. [ 25, 13 ] ok at 1
  91. [ 29, 3 ] ok at 1
  92. [ 29, 5 ] ok at 1
  93. [ 29, 29 ] ok at 1
  94. [ 31, 3 ] ok at 2
  95. [ 31, 7 ] ok at 1
  96. [ 31, 11 ] ok at 2
  97. [ 31, 31 ] ok at 1
  98. [ 33, 5 ] ok at 1
  99. [ 33, 17 ] ok at 1
  100. [ 35, 3 ] ok at 1
  101. [ 37, 3 ] ok at 2
  102. [ 37, 5 ] ok at 2
  103. [ 37, 7 ] ok at 1
  104. [ 37, 13 ] ok at 1
  105. [ 37, 19 ] ok at 1
  106. [ 37, 37 ] ok at 1
  107. [ 39, 3 ] ok at 1
  108. [ 41, 5 ] ok at 4
  109. [ 41, 11 ] ok at 3
  110. [ 41, 41 ] ok at 1
  111. [ 43, 3 ] ok at 2
  112. [ 43, 7 ] ok at 6
  113. [ 43, 43 ] ok at 1
  114. [ 45, 3 ] ok at 1
  115. [ 45, 5 ] ok at 1
  116. [ 45, 23 ] ok at 1
  117. [ 47, 3 ] ok at 1
  118. [ 47, 47 ] ok at 1
  119. [ 49, 13 ] ok at 1
  120. [ 49, 17 ] ok at 2
  121. [ 51, 3 ] ok at 1
  122. [ 51, 11 ] ok at 1
  123. [ 53, 5 ] ok at 1
  124. [ 53, 53 ] ok at 1
  125. [ 55, 3 ] ok at 2
  126. [ 55, 7 ] ok at 1
  127. [ 55, 19 ] ok at 1
  128. [ 57, 5 ] ok at 1
  129. [ 57, 29 ] ok at 1
  130. [ 59, 3 ] ok at 1
  131. [ 59, 59 ] ok at 1
  132. [ 61, 3 ] ok at 2
  133. [ 61, 5 ] ok at 4
  134. [ 61, 7 ] ok at 1
  135. [ 61, 11 ] ok at 4
  136. [ 61, 13 ] ok at 1
  137. [ 61, 31 ] ok at 1
  138. [ 61, 61 ] ok at 1
  139. [ 63, 3 ] ok at 1
  140. [ 65, 5 ] ok at 1
  141. [ 65, 17 ] ok at 1
  142. [ 67, 3 ] ok at 2
  143. [ 67, 7 ] ok at 1
  144. [ 67, 23 ] ok at 2
  145. [ 67, 67 ] ok at 1
  146. [ 69, 3 ] ok at 1
  147. [ 69, 5 ] ok at 1
  148. [ 71, 3 ] ok at 1
  149. [ 71, 11 ] ok at 1
  150. [ 71, 71 ] ok at 1
  151. [ 73, 7 ] ok at 3
  152. [ 73, 13 ] ok at 1
  153. [ 73, 19 ] ok at 3
  154. [ 73, 37 ] ok at 1
  155. [ 73, 73 ] ok at 1
  156. [ 75, 3 ] ok at 1
  157. [ 77, 3 ] ok at 1
  158. [ 77, 5 ] ok at 1
  159. [ 79, 7 ] ok at 1
  160. [ 79, 79 ] ok at 1
  161. [ 81, 5 ] ok at 4
  162. [ 81, 11 ] ok at 3
  163. [ 81, 17 ] ok at 1
  164. [ 81, 41 ] ok at 1
  165. [ 83, 3 ] ok at 1
  166. [ 83, 83 ] ok at 1
  167. [ 85, 3 ] ok at 2
  168. [ 85, 5 ] ok at 2
  169. [ 85, 7 ] ok at 6
  170. [ 85, 13 ] ok at 4
  171. [ 85, 29 ] ok at 2
  172. [ 85, 43 ] ok at 1
  173. [ 87, 3 ] ok at 1
  174. [ 89, 5 ] ok at 1
  175. [ 89, 23 ] ok at 3
  176. [ 89, 89 ] ok at 1
  177. [ 91, 3 ] ok at 2
  178. [ 91, 7 ] ok at 1
  179. [ 91, 11 ] ok at 2
  180. [ 91, 19 ] ok at 2
  181. [ 91, 31 ] ok at 1
  182. [ 93, 3 ] ok at 1
  183. [ 93, 5 ] ok at 1
  184. [ 93, 47 ] ok at 1
  185. [ 95, 3 ] ok at 1
  186. [ 97, 13 ] ok at 1
  187. [ 97, 17 ] ok at 4
  188. [ 97, 97 ] ok at 1
  189. [ 99, 3 ] ok at 1
  190. [ 101, 3 ] ok at 1
  191. [ 101, 5 ] ok at 4
  192. [ 101, 11 ] ok at 1
  193. [ 101, 101 ] ok at 1
  194. [ 103, 3 ] ok at 2
  195. [ 103, 7 ] ok at 1
  196. [ 103, 103 ] ok at 1
  197. [ 105, 5 ] ok at 1
  198. [ 105, 53 ] ok at 1
  199. [ 107, 3 ] ok at 1
  200. [ 107, 107 ] ok at 1
  201. [ 109, 3 ] ok at 2
  202. [ 109, 5 ] ok at 2
  203. [ 109, 7 ] ok at 1
  204. [ 109, 13 ] ok at 1
  205. [ 109, 19 ] ok at 1
  206. [ 109, 37 ] ok at 1
  207. [ 109, 109 ] ok at 1
  208. [ 111, 3 ] ok at 1
  209. [ 111, 11 ] ok at 10
  210. [ 111, 23 ] ok at 1
  211. [ 113, 5 ] ok at 1
  212. [ 113, 17 ] ok at 1
  213. [ 113, 29 ] ok at 1
  214. [ 113, 113 ] ok at 1
  215. [ 115, 3 ] ok at 2
  216. [ 115, 7 ] ok at 2
  217. [ 117, 3 ] ok at 1
  218. [ 117, 5 ] ok at 1
  219. [ 117, 59 ] ok at 1
  220. [ 119, 3 ] ok at 1
  221. [ 121, 7 ] ok at 3
  222. [ 121, 13 ] ok at 1
  223. [ 121, 31 ] ok at 3
  224. [ 121, 41 ] ok at 2
  225. [ 121, 61 ] ok at 1
  226. [ 123, 3 ] ok at 1
  227. [ 125, 3 ] ok at 1
  228. [ 127, 3 ] ok at 2
  229. [ 127, 7 ] ok at 6
  230. [ 127, 19 ] ok at 1
  231. [ 127, 43 ] ok at 1
  232. [ 127, 127 ] ok at 1
  233. [ 129, 5 ] ok at 1
  234. [ 129, 17 ] ok at 1
  235. [ 131, 11 ] ok at 1
  236. [ 131, 131 ] ok at 1
  237. [ 133, 3 ] ok at 2
  238. [ 133, 5 ] ok at 2
  239. [ 133, 7 ] ok at 1
  240. [ 133, 13 ] ok at 1
  241. [ 133, 23 ] ok at 4
  242. [ 133, 67 ] ok at 1
  243. [ 135, 3 ] ok at 1
  244. [ 137, 5 ] ok at 1
  245. [ 137, 137 ] ok at 1
  246. [ 139, 3 ] ok at 2
  247. [ 139, 7 ] ok at 1
  248. [ 139, 47 ] ok at 2
  249. [ 139, 139 ] ok at 1
  250. [ 141, 3 ] ok at 1
  251. [ 141, 5 ] ok at 4
  252. [ 141, 11 ] ok at 1
  253. [ 141, 29 ] ok at 2
  254. [ 141, 71 ] ok at 1
  255. [ 143, 3 ] ok at 1
  256. [ 145, 13 ] ok at 1
  257. [ 145, 17 ] ok at 6
  258. [ 145, 19 ] ok at 3
  259. [ 145, 37 ] ok at 1
  260. [ 145, 73 ] ok at 1
  261. [ 147, 3 ] ok at 1
  262. [ 149, 3 ] ok at 1
  263. [ 149, 5 ] ok at 1
  264. [ 149, 149 ] ok at 1
  265. [ 151, 3 ] ok at 2
  266. [ 151, 7 ] ok at 1
  267. [ 151, 11 ] ok at 2
  268. [ 151, 31 ] ok at 1
  269. [ 151, 151 ] ok at 1
  270. [ 153, 5 ] ok at 1
  271. [ 155, 3 ] ok at 1
  272. [ 155, 23 ] ok at 1
  273. [ 157, 5 ] ok at 3
  274. [ 157, 7 ] ok at 1
  275. [ 157, 13 ] ok at 12
  276. [ 157, 53 ] ok at 2
  277. [ 157, 79 ] ok at 1
  278. [ 157, 157 ] ok at 1
  279. [ 159, 3 ] ok at 1
  280. [ 161, 5 ] ok at 4
  281. [ 161, 11 ] ok at 3
  282. [ 161, 17 ] ok at 1
  283. [ 161, 41 ] ok at 1
  284. [ 163, 3 ] ok at 2
  285. [ 163, 7 ] ok at 1
  286. [ 163, 19 ] ok at 1
  287. [ 163, 163 ] ok at 1
  288. [ 165, 3 ] ok at 1
  289. [ 165, 5 ] ok at 1
  290. [ 165, 83 ] ok at 1
  291. [ 167, 3 ] ok at 1
  292. [ 167, 167 ] ok at 1
  293. [ 169, 7 ] ok at 6
  294. [ 169, 29 ] ok at 4
  295. [ 169, 43 ] ok at 3
  296. [ 171, 3 ] ok at 1
  297. [ 171, 11 ] ok at 1
  298. [ 173, 3 ] ok at 1
  299. [ 173, 5 ] ok at 1
  300. [ 173, 173 ] ok at 1
  301. [ 175, 3 ] ok at 2
  302. [ 175, 7 ] ok at 1
  303. [ 175, 59 ] ok at 2
  304. [ 177, 5 ] ok at 1
  305. [ 177, 17 ] ok at 1
  306. [ 177, 23 ] ok at 3
  307. [ 177, 89 ] ok at 1
  308. [ 179, 3 ] ok at 1
  309. [ 179, 179 ] ok at 1
  310. [ 181, 3 ] ok at 2
  311. [ 181, 5 ] ok at 4
  312. [ 181, 7 ] ok at 1
  313. [ 181, 11 ] ok at 4
  314. [ 181, 13 ] ok at 1
  315. [ 181, 19 ] ok at 7
  316. [ 181, 31 ] ok at 1
  317. [ 181, 37 ] ok at 1
  318. [ 181, 61 ] ok at 1
  319. [ 181, 181 ] ok at 1
  320. [ 185, 5 ] ok at 1
  321. [ 185, 47 ] ok at 3
  322. [ 187, 3 ] ok at 2
  323. [ 187, 7 ] ok at 1
  324. [ 189, 3 ] ok at 1
  325. [ 189, 5 ] ok at 1
  326. [ 191, 3 ] ok at 1
  327. [ 191, 11 ] ok at 2
  328. [ 191, 191 ] ok at 1
  329. [ 193, 13 ] ok at 1
  330. [ 193, 17 ] ok at 4
  331. [ 193, 97 ] ok at 1
  332. [ 193, 193 ] ok at 1
  333. [ 195, 3 ] ok at 1
  334. [ 197, 3 ] ok at 1
  335. [ 197, 5 ] ok at 1
  336. [ 197, 29 ] ok at 1
  337. [ 197, 197 ] ok at 1
  338. [ 199, 3 ] ok at 2
  339. [ 199, 7 ] ok at 1
  340. [ 199, 19 ] ok at 1
  341. [ 199, 23 ] ok at 2
  342. [ 199, 67 ] ok at 1
  343. [ 199, 199 ] ok at 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement