Added brute force for #41
Added #42 and #43. #43 needs refactoring
Added unit tests
added insanely slow solution for #44
Added moderately fast solution for #44
Cool, #45 is the same as #44
Nicer this way