public boolean solveTable(int startFrom) {
		int whichStep = startFrom;
		whichStep++;
		boolean ret = false;
		for (int j = 0; j < 8; j++) {
			for (int i = 0; i < 8; i++) {
				if (t.getField(i, j).getValue() == startFrom) {
					List<Field> fields = chessman.getValidMoves(i, j, new CheckIsNotBlockedCommand());
					for (Field field : fields) {
						if (ret == false) {
							ret = t.setField(field, whichStep);
						}
					}
				}
			}
		}
		if (whichStep < 64 && t.hasTableUnknownField() && ret == false) {
			return solveTable(whichStep);
		}
		return ret;
	}