##Java - 505 486
Just a standard calculation, with golfitude added.

Golfed:
import java.awt.*;import java.awt.image.*;import javax.swing.*;public class M{static class F extends JFrame{public void paint(Graphics g){g.drawImage(z,0,28,null);}}static BufferedImage z=new BufferedImage(640,640,1);public static void main(String[]v){int n=640,t,s,i=n,j;while(i-->0)for(j=0;j<n;){s=0;double c=4d/n,a=c*i-2,b=c*j-2,r=a,e=b,p;for(t=1;t<99;t++){if(r*r+e*e>4){s=t;t=99;}p=r*r-e*e+a;e=r*e+e*r+b;r=p;}z.setRGB(i,j++,s*9999);}F f=new F();f.setSize(n,668);f.setVisible(1>0);}} With whitespace:
import java.awt.*; import java.awt.image.*; import javax.swing.*; public class M { static class F extends JFrame { public void paint(Graphics g) { g.drawImage(z, 0, 28, null); } } static BufferedImage z = new BufferedImage(640, 640, 1); public static void main(String[] v) { int n = 640, t, s, i = n, j; while (i-- > 0) for (j = 0; j < n;) { s = 0; double c = 4d / n, a = c * i - 2, b = c * j - 2, r = a, e = b, p; for (t = 1; t < 99; t++) { if (r * r + e * e > 4) { s = t; t = 99; } p = r * r - e * e + a; e = r * e + e * r + b; r = p; } z.setRGB(i, j++, s * 9999); } F f = new F(); f.setSize(n, 668); f.setVisible(1 > 0); } }