private void digHole() {
		char ch;
		int i, j, k, m;
		for (i = 0; i < 81; i++)
			hasTryed[i] = false;
		boolean flag;
		for (i = 0; i < 81; i++) {
			do
				m = MWC.random() >> 8 & 127;
			while (m >= 81 || hasTryed[m]);
			hasTryed[m] = true;
			ch = data[m];
			flag = false;
			for (j = 0; j < 9; j++)
				if (ch != map[j]) {
					for (k = 0; k < 81; k++)
						tmp[k] = data[k];
					tmp[m] = map[j];
					solver.load(tmp);
					solver.dfs(0);
					if (solver.hasResult()) {
						flag = true;
						break;
					}
				}
			if (!flag)
				data[m] = '.';
			else
				data[m] = ch;
		}
	}