Simplified Methods
Separated big methods into smaller ones
Reduced duplication a bit
Generified methods
Added method to remove double options in groups

Added visualisation of progress of a solve
Fixed load sudoku to include last sudoku in the list
Options persist between solves
Added check for if a number can only be placed in a single cell in a group
Added print of total options left
Added check for unique doubles

If an option is only in 2 cells in a group, but those cells are also in another group, remove that option from the second group
Rearranged order of methods
Added method to guess the remaining options

Solves any valid sudoku!