Download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
%% schurs numbers
%%
%% determine if n balls labelled 1..n
%% can be placed in c boxes with no box containing a triple {x,y,z} where x+y=z
 
int: n; %% number of balls
int: c; %% number of boxes
 
array[1..n] of var 1..c: box;
 
constraint forall(i in 1..n-1, j in i+1 .. n - i)(
            box[i] != box[j] \/
            box[i] != box[i+j] \/
            box[j] != box[i+j]);
 
solve satisfy;
 
output ["n = ", show(n), ";\nc = ", show(c), ";\nbox = ",show(box),";\n"];