row(1..5).
col(1..5).
{ q(I, J) } :- row(I), col(J).
:- q(I, J), q(I, K), J != K.
:- q(I, J), q(K, J), I != K.
:- q(I, J), q(K, L), I != K, K-I = L-J.
:- q(I, J), q(K, L), I != K, K-I = J-L.
5 { q(I, J) : row(I), col(J) }.
#show q/2.
Resource created Thursday 24 October 2019, 01:47:46 PM.
file: nqueens.lp