I wonder if it would be better to combine `solveFirst()` and `solveOne()`? The only difference is the true/false param in the call to `incrementStats()`.

Alternatively, we could just do this inline. So instead of calling `solveFirst()` we compute the solution and then call `incrementStats()`.