param n integer = 8; var Row {1..n} integer >= 1 <= n; # Row[j] is the row where column j's queen is placed subj to c1: alldiff ({j in 1..n} Row[j]); subj to c2: alldiff ({j in 1..n} Row[j]+j); subj to c3: alldiff ({j in 1..n} Row[j]-j);