anchor.diff:      return transposedMatrix;
     }
   
  -  // returns sudoku sorted by specific areas
  -  List<List<int>> get3x3Area(List<List<int>> matrix) {
  -    List<List<int>> areaList = new List<List<int>>();
  -
  -    for(int i = 1; i < 10; i += 3) {
  -      for(int j = 1; j < 10; j += 3) {
  -        areaList.add(getSpecificArea(matrix, i, i+2, j, j+2));
  -      }
  -    }
  -
  -    return areaList;
  -  }
  -
  -  // returns specific 3x3 area of the sudoku
  -  List<int> getSpecificArea(List<List<int>> matrix, int rowStart, int rowEnd, int colStart, int colEnd) {
  -    List<int> area = new List<int>();
  -
  -    for(int i = rowStart-1; i < rowEnd; i++) {
  -      for(int j = colStart-1; j < colEnd; j++) {
  -        area.add(matrix[i][j]);
  -      }
  -    }
  -    return area;
  -  }
  -
  -  // checks if the given region is valid
  -  bool checkRegion(List<List<int>> region) {
  -    for(List<int> regionElement in region) {
  -      for(int i = regionElement[0]; i < regionElement.length; i++) {
  -        if(!regionElement.contains(i)) {
  -          return false;
  -        }
  -      }
  -    }
  -    return true;
  -  }
   
     // TODO implementation
     // returns amount of possible solutions for given sudoku
  
positive.code:     //print(userInput);
    }
  
  
  
    // checks if the given sudoku is valid
    bool isValid(List<List<int>> sudoku) {
      for(int i = 1; i < 4; i++) {
        if(!checkRegion(getRegion(sudoku, i))) {
          print(i);
          return false;
        }
      }
      return true;
    }
  
    // returns specific region of given sudoku
    List<List<int>> getRegion(List<List<int>> sudoku, int regionNumber) {
      switch (regionNumber) {
        case 3: // 3x3 Areas
          return get3x3Area(sudoku);
          break;
  
        case 2: // COLS
          return transposeMatrix(sudoku);
          break;
  
        case 1: // ROWS
        default:
          return sudoku;
      }
    }
  
    // returns transposed matrix
    List<List<int>> transposeMatrix(List<List<int>> matrix) {
      // Initialize List
  
negative.code:     // swap two numbers in total
      for(int i = 0; i < 20; i++)
        swap2Numbers(tempSudoku);
  
      return tempSudoku;
    }
  