Problem solving n-queens backtracking PPC : gecode SAT : picosat SWI-Prolog sub set sum latin square PPC : gecode magic sequence PPC : gecode