public static boolean esSolucionable(int[] estado){
		int sum = 0;
		int[] posiciones = new int[16];
		for (int i = 0; i < estado.length; i++)
			if (estado[i] != 0) posiciones[(estado[i]) - 1] = i + 1;
			else  posiciones[15] = i + 1;
		for (int i = 0; i < estado.length; i++) {
			if (estado[i] == 0) 
				if (((i/4) + 1) % 2 != 0) {if (((i % 4) + 1) % 2 == 0) sum++;}
				else if (((i % 4) + 1) % 2 != 0)sum++;
			for (int j = 0; j < i; j++)
				if (posiciones[j] > posiciones[i]) sum++;
		}
		return sum % 2 == 0;
	}