class Puzzle {

    public void setNumber(Point point, Integer value) throws IllegalArgumentException {
        AssertValidIndexes(point);
        assertValidValue(value);
        Numbers[point.x][point.y] = value;
    }

    public  Puzzle();
      Puzzle(Puzzle toCopy);
    public  Puzzle(Integer[][] problem);

}