A recursive solver for summation puzzles