old_version/solver.py
def main_sequence(self) -> None:
        """
        General flow of procedures. Starts with basic checks for blank cell that can be already completed.
        Then the main solving methods are used.
        If sudoku is still incomplete after previous procedures, program tries random insertions.
        :return: None
        """
        if not self.is_sudoku_completed():
            self.pre_solving_check()
            self.solve()
            # self.try_random_insert()
            self.backtracking()
        return None

        General flow of procedures. Starts with basic checks for blank cell that can be already completed.
        Then the main solving methods are used.
        If sudoku is still incomplete after previous procedures, program tries random insertions.
        :return: None
        
General flow of procedures. Starts with basic checks for blank cell that can be already completed.
Then the main solving methods are used.
If sudoku is still incomplete after previous procedures, program tries random insertions.
General flow of procedures . Starts with basic checks for blank cell that can be already completed . Then the main solving methods are used . If sudoku is still incomplete after previous procedures program tries random insertions .
def main_sequence(self) -> None:
        if not self.is_sudoku_completed():
            self.pre_solving_check()
            self.solve()
            self.backtracking()
        return None
def main_sequence ( self ) -> None : if not self . is_sudoku_completed ( ) : self . pre_solving_check ( ) self . solve ( ) self . backtracking ( ) return None
General flow of procedures.
General flow of procedures .
"""
        General flow of procedures. Starts with basic checks for blank cell that can be already completed.
        Then the main solving methods are used.
        If sudoku is still incomplete after previous procedures, program tries random insertions.
        :return: None
        """ # self.try_random_insert()
None
self