python3 - <<'PY' from itertools import combinations p=996979 J=[(22716,22810),(397695,397787),(731292,731385)] K=J+[(a+p,b+p) for a,b in J] YS=set() for m,(L,U) in enumerate(K): for y1 in range((L-1)//2,U//2+1): for rest in combinations(range(y1+1,y1+50),47): ys=(y1,)+rest if ys[0]+ys[1]>=L and ys[-2]+ys[-1]<=U: YS.add(ys) print('Y count',len(YS)) tot=0 valid=[] for ys in YS: y1=ys[0]; yk=ys[-1] A=[]; B=[] for li,ui in K: a0=max(0,li-y1); a1=min(y1-1,ui-yk) if a0<=a1: A.append((a0,a1)) b0=max(yk+1,li-y1); b1=min(p-1,ui-yk) if b0<=b1: B.append((b0,b1)) P=[] for a0,a1 in A: for b0,b1 in B: for a in range(a0,a1+1): for lk,uk in K: ll=max(b0,lk-a); hh=min(b1,uk-a) for b in range(ll,hh+1): if b>yk: P.append((a,b)) if P: valid.append((ys,P)) tot+=len(P) print('valid Y',len(valid),'pairs',tot) for ys,P in valid: print('Y',ys[0],ys[-1],len(P),P[0],P[-1]) PY