# HG changeset patch # User IBBoard # Date 1507387432 -3600 # Node ID b4f994693f7b0c2fa77a3c23735bb9954e56379a # Parent 8906b5a4517fe658c55c62ea93ebdff9d61f1646 Fix condition check that was letting it backtrack to build a different set of rows diff -r 8906b5a4517f -r b4f994693f7b 3-Prolog/day3-sudoku.pl --- a/3-Prolog/day3-sudoku.pl Sat Oct 07 15:07:34 2017 +0100 +++ b/3-Prolog/day3-sudoku.pl Sat Oct 07 15:43:52 2017 +0100 @@ -38,7 +38,7 @@ nth_from_list(Start, N, Input, Output) :- nth_from_list(N, Start, 1, Input, Output). nth_from_list(N, Next, Pos, [Head|TailIn], [Head|TailOut]) :- Pos == Next, NewNext is Next + N, NewPos is Pos + 1, nth_from_list(N, NewNext, NewPos, TailIn, TailOut). -nth_from_list(N, Next, Pos, [_|TailIn], Output) :- NewPos is Pos + 1, nth_from_list(N, Next, NewPos, TailIn, Output). +nth_from_list(N, Next, Pos, [_|TailIn], Output) :- Pos < Next, NewPos is Pos + 1, nth_from_list(N, Next, NewPos, TailIn, Output). nth_from_list(_, _, _, [], []). cols(Board, ColLength, Cols) :- cols(Board, ColLength, 1, Cols).