private boolean tryFindPath() {
			for (Node neighbour : neighbours) {
				if (neighbour.x == n || neighbour.y == 0) {
					return true;
				}
				if (!neighbour.isReachable()) {
					neighbour.setReachable();
					if (neighbour.tryFindPath()) {
						return true;
					}
				}
			}
			return false;
		}