code: def set_cell(self, i, j, value):
          
          bool_tests = [
              value in self._possibles[i][j],
              value in self._poss_rows[i],
              value in self._poss_cols[j],
              value in self._poss_box[(i // self.order) * self.order + (j // self.order)],
              value not in self.row(i),
              value not in self.col(j),
              value not in self.box(i, j)
          ]
  
          if all(bool_tests):
              self[i][j] = value
          else:
              raise SudokuHasNoSolutionError("This value cannot be set here!")
docs: Set a cell's value, with a series of safety checks
  
          :param i: The row number
          :type i: int
          :param j: The column number
          :type j: int
          :param value: The value to set
          :type value: int
          :raises: :py:class:`dlxsudoku.exceptions.SudokuHasNoSolutionError`