//Written by Ikaro Silva, Copyleft 2008
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;

public class Polyroot extends JFrame
{

	public static void main(String [] args)
	{
		new Polyroot();
	}

	public Polyroot()
	{
		this.setSize(300, 300);
	    this.setTitle("Chaos");
	    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.add(new PaintSurface(), BorderLayout.CENTER);
		this.setVisible(true);
	}
	
	public static int newtnmtd(int x, int y)
	{

		int ind=0;
		int Nmax=64;
		
		Complex z=new Complex((double) x,(double) y);
		Complex dfz;
		Complex dfz1;
		Complex dfz2;
		Complex fz;
		Complex fz1;
		Complex fz2;
		int P=8;
		
		
		for(int n=0;n nmax) ? n[jcount][icount] : nmax;
				    icount++;
				}
				jcount++;
			}
			
			ClrMap clr= new ClrMap();
			double slope = (double) (clr.get_clr_length()-1)/nmax;
			
			jcount=0;
			for (int j=-N;j

    Source: geocities.com/ikaroworks