  In this expository paper, we show how to use the Douglas-Rachford algorithm
as a successful heuristic for finding magic squares. The Douglas-Rachford
algorithm is an iterative projection method for solving feasibility problems.
Although its convergence is only guaranteed in the convex setting, the
algorithm has been successfully applied to a number of similar nonconvex
problems, such as solving Sudoku puzzles. We present two formulations of the
nonconvex feasibility problem of finding magic squares, which are inspired by
those of Sudoku, and test the Douglas-Rachford algorithm on them.
