private int GeneraNumero(int[][] matriz, int fila, int columna) 
    {
        int resp = 0;
        boolean flag = false;
        //Genera lista para validar los numeros utilizados en el ciclo
        ReiniciarSecuencia();
        do
        {                        
            boolean validaFila = true;
            boolean validaColumna = true;
            boolean validaCuadrante = true;
            resp = (int)(Math.random() * (10 - 1) + 1);

            //Chequea que el numero no se repita en los cuadrantes 3 x 3
            if(!ValidaCuadrante(matriz, ObtieneCuadrante(fila, columna),resp))
                validaCuadrante = false;
            else
            {
                //Chequea que el numero no se repita en la fila
                for(int i = 0;i < 9;i++)
                {
                    if(matriz[i][columna]==resp)
                    {
                        validaColumna = false;

                    }
                    if(matriz[fila][i]==resp)
                    {
                        validaFila = false;
                    }
                }                
            }    
                       
            if(validaFila && validaColumna && validaCuadrante)
                flag = true;
            
            InsertaSecuencia(resp);
            
            //Si se han insertado todos los valores posibles se devuelve 0            
            if(ValidaSecuencia())
            {
                flag = true;
                resp = 0;
            }
        }
        while (!flag);        
        return resp;
    }