Skip to content

Instantly share code, notes, and snippets.

@foxqstm
Created June 8, 2022 14:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save foxqstm/5030365ec757985acb76d8e1b14f0a79 to your computer and use it in GitHub Desktop.
Save foxqstm/5030365ec757985acb76d8e1b14f0a79 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"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