Pages
:- use_module(library(clpfd)).
% I only buy the ST for the puzzles, trust me
solution(A, B, C, D) :-
Vs = [A, B, C, D],
Vs ins 1..9,
all_distinct(Vs),
D #= A + 3,
xor(B mod 2 #= 1, C mod 2 #= 1),
D #< 7,
B #> A,
D #> (B + C),
label(Vs).
xor(X, Y) :-
X #/\ #\Y #\/ #\X #/\ Y.
% ?- solution(A, B, C, D).
% A = 3,
% B = 4,
% C = 1,
% D = 6.
This was the puzzle for the 13th April, 2025. As I say, most weeks it's a fair bit harder, so I'll tackle a couple more in due course.
And I clarify: I only ever bought the grim Sunday Telegraph for the puzzles. Oh, and its broadsheet size makes it ideal for putting under the cat's litter tray.