codify some manual steps into a function
fix typo
use stderr for printing
report caught exception
check solvable before adding plinks
add some sanity checking to prevent infinite loops
Namespaces are one honking great idea -- let's do more of those!
print more debug info
add bounds checking
try linear_solve to solve grid
fix debugging info going to stdout
make linear_solve try harder
be less verbose
debug output
fix typo
if linear search didn't solve grid, try some other methods