Created
June 8, 2022 14:58
-
-
Save foxqstm/5030365ec757985acb76d8e1b14f0a79 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"id": "1f7bef64", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[2, 3, 5, 7, 11, 13, 17, 19, 23]\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|█████████████████████████████████████████████████████████████████████████████████| 46/46 [00:00<00:00, 284.71it/s]" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"5\n", | |
"root: 11 11 19\n", | |
"ModRoot 1 1 2\n", | |
"5\n", | |
"root: 11 11 19\n", | |
"ModRoot 4 4 3\n", | |
"5\n", | |
"root: 19 19 11\n", | |
"ModRoot 2 2 4\n", | |
"5\n", | |
"root: 19 19 11\n", | |
"ModRoot 3 3 1\n", | |
"7\n", | |
"root: 11 11 2\n", | |
"ModRoot 2 2 4\n", | |
"7\n", | |
"root: 11 11 2\n", | |
"ModRoot 5 5 3\n", | |
"7\n", | |
"root: 11 11 23\n", | |
"ModRoot 2 2 4\n", | |
"7\n", | |
"root: 11 11 23\n", | |
"ModRoot 5 5 3\n", | |
"9\n", | |
"root: 7 7 19\n", | |
"ModRoot 4 4 8\n", | |
"9\n", | |
"root: 7 7 19\n", | |
"ModRoot 5 5 1\n", | |
"9\n", | |
"root: 13 13 7\n", | |
"ModRoot 2 2 4\n", | |
"9\n", | |
"root: 13 13 7\n", | |
"ModRoot 7 7 5\n", | |
"9\n", | |
"root: 19 19 13\n", | |
"ModRoot 1 1 2\n", | |
"9\n", | |
"root: 19 19 13\n", | |
"ModRoot 8 8 7\n", | |
"11\n", | |
"root: 3 3 23\n", | |
"ModRoot 5 5 10\n", | |
"11\n", | |
"root: 3 3 23\n", | |
"ModRoot 6 6 1\n", | |
"11\n", | |
"root: 3 5 23\n", | |
"ModRoot 5 7 1\n", | |
"11\n", | |
"root: 3 5 23\n", | |
"ModRoot 6 4 10\n", | |
"11\n", | |
"root: 3 23 5\n", | |
"ModRoot 5 10 4\n", | |
"11\n", | |
"root: 3 23 5\n", | |
"ModRoot 6 1 7\n", | |
"11\n", | |
"root: 5 23 3\n", | |
"ModRoot 4 1 5\n", | |
"11\n", | |
"root: 5 23 3\n", | |
"ModRoot 7 10 6\n", | |
"13\n", | |
"root: 3 17 23\n", | |
"ModRoot 4 2 6\n", | |
"13\n", | |
"root: 3 17 23\n", | |
"ModRoot 9 11 7\n", | |
"13\n", | |
"root: 3 23 17\n", | |
"ModRoot 4 7 11\n", | |
"13\n", | |
"root: 3 23 17\n", | |
"ModRoot 9 6 2\n", | |
"13\n", | |
"root: 17 17 3\n", | |
"ModRoot 2 2 4\n", | |
"13\n", | |
"root: 17 17 3\n", | |
"ModRoot 11 11 9\n", | |
"13\n", | |
"root: 17 23 3\n", | |
"ModRoot 2 7 9\n", | |
"13\n", | |
"root: 17 23 3\n", | |
"ModRoot 11 6 4\n", | |
"14\n", | |
"root: 2 7 23\n", | |
"ModRoot 4 7 11\n", | |
"14\n", | |
"root: 2 7 23\n", | |
"ModRoot 10 7 3\n", | |
"14\n", | |
"root: 2 23 7\n", | |
"ModRoot 4 3 7\n", | |
"14\n", | |
"root: 2 23 7\n", | |
"ModRoot 10 11 7\n", | |
"14\n", | |
"root: 7 23 2\n", | |
"ModRoot 7 3 10\n", | |
"14\n", | |
"root: 7 23 2\n", | |
"ModRoot 7 11 4\n", | |
"14\n", | |
"root: 11 11 2\n", | |
"ModRoot 5 5 10\n", | |
"14\n", | |
"root: 11 11 2\n", | |
"ModRoot 9 9 4\n", | |
"19\n", | |
"root: 5 7 23\n", | |
"ModRoot 9 8 17\n", | |
"19\n", | |
"root: 5 7 23\n", | |
"ModRoot 10 11 2\n", | |
"19\n", | |
"root: 5 11 23\n", | |
"ModRoot 9 12 2\n", | |
"19\n", | |
"root: 5 11 23\n", | |
"ModRoot 10 7 17\n", | |
"19\n", | |
"root: 5 23 7\n", | |
"ModRoot 9 2 11\n", | |
"19\n", | |
"root: 5 23 7\n", | |
"ModRoot 10 17 8\n", | |
"19\n", | |
"root: 5 23 11\n", | |
"ModRoot 9 17 7\n", | |
"19\n", | |
"root: 5 23 11\n", | |
"ModRoot 10 2 12\n", | |
"19\n", | |
"root: 7 17 23\n", | |
"ModRoot 8 13 2\n", | |
"19\n", | |
"root: 7 17 23\n", | |
"ModRoot 11 6 17\n", | |
"19\n", | |
"root: 7 23 5\n", | |
"ModRoot 8 2 10\n", | |
"19\n", | |
"root: 7 23 5\n", | |
"ModRoot 11 17 9\n", | |
"19\n", | |
"root: 7 23 17\n", | |
"ModRoot 8 17 6\n", | |
"19\n", | |
"root: 7 23 17\n", | |
"ModRoot 11 2 13\n", | |
"19\n", | |
"root: 11 23 5\n", | |
"ModRoot 7 2 9\n", | |
"19\n", | |
"root: 11 23 5\n", | |
"ModRoot 12 17 10\n", | |
"19\n", | |
"root: 17 17 11\n", | |
"ModRoot 6 6 12\n", | |
"19\n", | |
"root: 17 17 11\n", | |
"ModRoot 13 13 7\n", | |
"19\n", | |
"root: 17 23 7\n", | |
"ModRoot 6 2 8\n", | |
"19\n", | |
"root: 17 23 7\n", | |
"ModRoot 13 17 11\n", | |
"25\n", | |
"root: 11 11 19\n", | |
"ModRoot 6 6 12\n", | |
"25\n", | |
"root: 11 11 19\n", | |
"ModRoot 19 19 13\n", | |
"29\n", | |
"root: 13 13 23\n", | |
"ModRoot 10 10 20\n", | |
"29\n", | |
"root: 13 13 23\n", | |
"ModRoot 19 19 9\n", | |
"29\n", | |
"root: 23 23 5\n", | |
"ModRoot 9 9 18\n", | |
"29\n", | |
"root: 23 23 5\n", | |
"ModRoot 20 20 11\n", | |
"34\n", | |
"root: 2 17 19\n", | |
"ModRoot 6 17 23\n", | |
"34\n", | |
"root: 2 17 19\n", | |
"ModRoot 28 17 11\n", | |
"34\n", | |
"root: 2 19 17\n", | |
"ModRoot 6 11 17\n", | |
"34\n", | |
"root: 2 19 17\n", | |
"ModRoot 28 23 17\n", | |
"34\n", | |
"root: 17 19 2\n", | |
"ModRoot 17 11 28\n", | |
"34\n", | |
"root: 17 19 2\n", | |
"ModRoot 17 23 6\n", | |
"37\n", | |
"root: 11 11 7\n", | |
"ModRoot 14 14 28\n", | |
"37\n", | |
"root: 11 11 7\n", | |
"ModRoot 23 23 9\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"from tqdm import tqdm\n", | |
"import time\n", | |
"from sympy import primerange\n", | |
"\n", | |
"def ModRoot(a,n):\n", | |
" \n", | |
" r=[]\n", | |
" amod=a%n\n", | |
" for m in range(n):\n", | |
" if (m*m)%n==amod:\n", | |
" r.append(m)\n", | |
" \n", | |
" return r\n", | |
" \n", | |
"Nmax=50\n", | |
"Nmin=5\n", | |
"prs=list(primerange(1,24))\n", | |
"print(prs)\n", | |
"\n", | |
"for n in tqdm(range(Nmin,Nmax+1)):\n", | |
" for a in prs:\n", | |
" for b in prs:\n", | |
" if b>=a:\n", | |
" for c in prs:\n", | |
" if c!=a and c!=b:\n", | |
" Moda=ModRoot(a,n)\n", | |
" if Moda!=[]:\n", | |
" Modb=ModRoot(b,n)\n", | |
" if Modb!=[]:\n", | |
" Modc=ModRoot(c,n)\n", | |
" if Modc!=[]:\n", | |
" for ar in Moda:\n", | |
" for br in Modb:\n", | |
" for cr in Modc:\n", | |
" if ar!=0 and br!=0:\n", | |
" if cr!=0:\n", | |
" if (ar+br)%n==cr:\n", | |
" print(n)\n", | |
" print(\"root:\",a,b,c)\n", | |
" print(\"ModRoot\",ar,br,cr)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.8.11" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment