:- use_module(library(tor_clpfd)). go1 :- n_queens(95,Vars), search(lds(labeling([ff], Vars))). n_queens(N, Qs) :- length(Qs, N), Qs ins 1..N, safe_queens(Qs). safe_queens([]). safe_queens([Q|Qs]) :- safe_queens(Qs, Q, 1), safe_queens(Qs). safe_queens([], _, _). safe_queens([Q|Qs], Q0, D0) :- Q #\= Q0, abs(Q0 - Q) #\= D0, D1 #= D0 + 1, safe_queens(Qs, Q0, D1). %?- n_queens(80, Qs), time(search(labeling([ff], Qs))). %@ % 883,774 inferences, 0.309 CPU in 0.460 seconds (67% CPU, 2860462 Lips) %@ Qs = [1, 3, 5, 44, 42, 4, 50, 7, 68|...] .