Changed states to char to hopefully save 1/4 memory. Can now only do
15x15 arrays max, but is unlikely to succeed even then
Added depthLimit, didnt help
Changed to recursive algorithm, allows deleting nodes that are not
useful, means that the number of nodes in memory is greatly reduced
Changed print function so that it accepts the length as a parameter