#!/usr/bin/env python3 import urllib.request as u,json,time a=5000;b=6000 p={"jsonrpc":"2.0","id":1,"method":"get_family","params":{"expr":"10^18+n","start":a,"limit":b-a,"factors":True}} t=time.time() r=json.load(u.urlopen(u.Request("https://factordb.com/rpc",data=json.dumps(p).encode(),headers={"Content-Type":"application/json"}),timeout=6))["result"] m=r["members"] def inert(q): return q%3==1 and pow(2,(q-1)//3,q)!=1 uns=[t["x"] for t in m if any(f["status"]!="P" for f in t["factors"])] ok=[t["x"] for t in m if all(f["exponent"]%3D=0 or not inert(int(f["base"])) for f in t["factors"])] print(a,b,len(m),len(ok),"last",m[-1]["x"],"time",time.time()-t,"unfactored",uns,"checksum",sum(ok))