The software packages  [Octave](http://www.gnu.org/software/octave/) and [scilab](http://www.scilab.org/) can also do this.  An example for $y^3 + x^3 - 6x^2y=0$ would be as follows.  Change the last line from contour(z) to surf(z) to get a surface plot; to surfl(z) to get a shaded and illuminated surface plot.

    xmin=-5.0; xstep=0.1; xmax=5.0; // replace with your values
    ymin=.... ;                     // replace with your values
    // // generate x,y lattice points for plot
    [x y]=meshgrid(xmin:xstep:xmax, ymin:ystep:ymax);
    // // define z=f(x,y), replace with your desired function
    z=y.^3 + x.^3 - 6 * x.^2 .* y;
    // // now perform contour plot of function
    contour(z);
    // or surf(z), or surfl(z) for surface plots

and Octave and Scilab are free software and open-source software which can be freely downloaded and used on multiple operating system platforms.
 
 - http://en.wikipedia.org/wiki/Scilab --  http://www.scilab.org/

 - http://en.wikipedia.org/wiki/GNU_Octave --   http://www.gnu.org/software/octave/

If you've got a Macintosh with OS X, or System 9, you can use the built in [Graphing Calculator](http://en.wikipedia.org/wiki/Grapher) program [NuCalc](http://en.wikipedia.org/wiki/NuCalc) to directly type in the equation, zoom in and out, and fly around the 3-d surface plot;  Graphing Calculator can also do inequalitiies such as $x^2+y^2 \gt 5$.