#!/bin/sh fetch -q -o /tmp/p.tgz https://files.pythonhosted.org/packages/source/p/pycosat/pycosat-0.6.6.tar.gz; tar -xzf /tmp/p.tgz -C /tmp; cd /tmp/pycosat-0.6.6; python3 setup.py build -q >/dev/null 2>/dev/null; PYTHONPATH=$(echo build/lib.*) python3 - <<'PY' import pycosat as pc,time for n in [20,30,40,50,60,80,100]: t=time.time(); C=[[i] for i in [1,2,3,5,7]]; Y={} for u in range(2,n+1): for v in range(u+1,min(n,2*n//u)+1): y=n+len(Y)+1; Y[u,v]=y; C.extend(([-y,u],[-y,v])) for a in range(1,n+1): for b in range(a,n+1): s=a+b; q=[-a,-b] if s<=n: q.append(s) for u in range(2,int(s**.5)+1): if s%u==0 and s//u<=n: v=s//u; q.append(u if v==u else Y[u,v]) C.append(q) r=pc.solve(C); print(n, r if isinstance(r,str) else [i for i in r if 0