public static Estado copiarEstado(Estado estado){
        HashMap<ArrayList<Integer>, Celula> blankcellestado = estado.getBlankcells();
        Celula[][] celulasestado = estado.getMatriz();
        
        HashMap<ArrayList<Integer>, Celula> blankcellcopiado = new HashMap();
        Celula[][] celulascopiado = new Celula[9][9];
        
        for(ArrayList<Integer> chave : blankcellestado.keySet()){
            blankcellcopiado.put(chave, blankcellestado.get(chave));
        }
        
        for(int j=0; j<=8;j++){
            for(int k=0; k<=8;k++){
                celulascopiado[j][k] = celulasestado[j][k];
            }
        }
        return new Estado(celulascopiado, blankcellcopiado, estado);
        
    }