Constructing magic squares: an integer constraint satisfaction problem and a fast approach | Synapse