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 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); 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/