I remember we all seemed to come up with our own methods for generating the bitmaps. What you're getting being different to everyone else's might be because of that. For mine (referring to the Java version), right after generating the variables for a given (i, j), I call image.setRGB(e (the x coordinate), n (the y coordinate), col (which is a variable holding the colour value)). Instead of a regular bitmap I'm using a BufferedImage object. Maybe implementing it differently could help. I haven't actually used C# much so I don't know how bitmaps work in C#. There's probably an equivalent to Java's BufferedImage somewhere.