%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % The SEND + MORE = MONEY puzzle. % Solve the equation by assigning a distinct digit between % 0 and 9 to each letter. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% :- consult_lib. solve_puzzle(S,E,N,D,M,O,R,Y):- subset({S,E,N,D,M,O,R,Y},int(0,9)) & size({S,E,N,D,M,O,R,Y},8)! & S neq 0 & M neq 0 & X is M*10000 + O*1000 + N*100 + E*10 + Y & Z is S*1000 + E*100 + N*10 + D + M*1000 + O*100 + R*10 + E & X = Z. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /* Example {log}=> solve_puzzle(S,E,N,D,M,O,R,Y). Constraint: [] D = 7, E = 5, M = 1, N = 6, O = 0, R = 8, S = 9, Y = 2 Another solution? (y/n)y no */