Solver for Mystic Pillars, an Indian (Kannada) smartphone game.
Pillars are connected with links; some are unidirectional, some are bidirectional. Some pillars have gems on them. The move is: if the shortest path between pillars A and B is 4, then you take 4 gems from pillar A and put them to pillar B. You must convert the pillars to predetermined final state in N moves.
I stuck in level 95 and decided to write a solver.
Right now you program levels just in source code.