Lewis Carrol Doublets solver by Graham Toal. Breadth-first search over word list. Guarantees to find shortest path. Written in Pascal. Use p2c or take C source if you can't be bothered. See a similar algorithm, probably better written, certainly better described, in ../sgb (Stanford Graph Base) where it is one of the demonstration examples for a general purpose Graph manipulation package by Donald Knuth. (If you don't know who Don Knuth is, you shouldn't be in the programming business.)