These programs make magic squares and rectangles using "Constraint-Based Local Search".
(For non-square rectangles, input the order as two numbers.)
There are 3 similar programs: CompleteSquare, CompleteSquareSteps, and MagicSquares.
Given an input square with some cell values between 1 and NxN specified,
(and other cell values 0), CompleteSquare attempts to complete a magic square by
placing the remaining values. The square type can be input as semimagic, magic,
or associative...