# for j, elem in enumerate(row):
# csolverlb.mustHaveValue(solver, elem)
- # ensure rows and columns have distinct values
+ # ensure rows have distinct values
for i in range( N):
valid(problem[:,i])
+
+ # ensure columns have distinct values
+ for i in range( N):
valid(problem[i,:])
# ensure each block has distinct values