Example
SEND + MORE = MONEY
import std.choco.globals;
let S = 1..9;
let E = 0..9;
let N = 0..9;
let D = 0..9;
let M = 1..9;
let O = 0..9;
let R = 0..9;
let Y = 0..9;
(1000 * S + 100 * E + 10 * N + 1 * D
+ 1000 * M + 100 * O + 10 * R + 1 * E
== 10000 * M + 1000 * O + 100 * N + 10 * 1 * E + 1 * Y).post ();
allDifferent ([S,E,N,D,M,O,R,Y]).post ();
choco.solve ();
println (" ", S, E, N, D);
println (" + ", M, O, R, E);
println (" = ", M, O, N, E, Y);
Execution
9567
+ 1085
= 10652
N QUEENS
import std.choco.globals;
let n = 4;
let vars = [1 .. n | i in 0 .. n];
let diagL = [vars [i] - i | i in 0 .. n];
let diagR = [vars [i] + i | i in 0 .. n];
allDifferent (vars).post ();
allDifferent (diagL).post ();
allDifferent (diagR).post ();
choco.solve ();
println (vars);
Execution
[2, 4, 1, 3]