public void draw(Graphics2D g2)
    {
        logicSolve();
        setColor();
        
        for(int i=0; i<9; i++)
        {
            for(int j=0; j<9; j++)
            {
                grid[i][j].draw(g2);
            }
        }
        for(int i=0; i<3; i++)
        {
            for(int j=0; j<3; j++)
            {
                Rectangle r = new Rectangle(i*drawSize*3, j*drawSize*3, drawSize*3, drawSize*3);
                g2.setColor(Puzzle.stateColor);
                g2.setStroke(new BasicStroke(7));
                g2.draw(r);
                g2.setStroke(new BasicStroke(3));
            }
        }
    }