programming puzzle solutions

cleanup; add tests; functional style master


+58 -36
1 changed file