Magic square

Sign in to test your solution.
:- use_module(library(clpfd)). main(Dim) :- magic_square(Square,Dim), maplist(portray_clause,Square), Square=[Row|_], lists:sum_list(Row,Sum), write(Sum). magic_square(Square,Dim) :- magic_square_constraints(Square, Dim), maplist(label, Square). magic_square_constraints(Square, Dim) :- ...