BUG stands for Bi-value Universal Grave. This is a configuration of the board, where all
remaining empty cells have exactly two candidates.
It can be shown that such a configuration implies that the puzzle does not have a unique solution.
Hence, if the creator of a Sudoku board guarantees that there is a unique solution, we can exploit this fact and avoid such a pattern.
The configuration which we are looking for is that all but one empty cells have exactly two candidates and
the remaining cell has exactly three candidates. By trying to eliminate (rather than place candidates) we will try to avoid a BUG pattern.
Let us consider this example, where all cells have two candidates, except for A7, which has three.
Please note, that there are other methods, which depend on the uniqueness of a solution,
but we deliberately exclude them from our solver.
They all exploit an impossible pattern in a sudoku board and try to avoid such a configuration.
You can find more information on these methods on the SudokuWiki Webpage.