public boolean isValid() {
		Set<Box> boxes = getBoxes();
		Set<Integer> seen = new HashSet<>();
		boolean isValid = true;

		for(Box box : boxes) {
			if(box.getValue() == -1) {
				isValid = false;
			} else if(seen.contains(box.getValue())) {
				isValid = false;
			} else {
				seen.add(box.getValue());
			}
		}

		return isValid;
	}