Eight Queens Puzzle

After reading this inspiring blog by Haseeb Q, I decided to have a go at coding some solutions to the eight queens puzzle. You can find my source code here (alas, no pretty GUI)

I think its really a interesting problem because there are a number of different approaches to solving it; e.g. an exhaustive approach like depth-first backtracking, or an iterative improvement approach such as hill-climbing with the min-conflicts heuristic (which is faster but risks hitting a local optimum).