Heres the code; you'll see the circles get cut off as they move around

Code:
Public Class Form1
    Dim amt, a, b, c, d, time, wait As Integer
    Dim acctemp, dt As Double
    Dim p(0 To 4, 0 To 1, 0 To 1), v(0 To 4, 0 To 1), m(0 To 4), rad(0 To 4) As Double
    Dim Crash As Boolean
    Dim gr As Graphics = CreateGraphics()
    Const G = 6.67 * 10 ^ -11
    Dim Draw As Boolean


    Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
        If Me.Draw Then
            CreatePlanets(100, 100, 200, 200, 300, 300, 0, 0, 0, 0, -0.2, 0.2, 0.3, -0.2, 0, 0, 0, 0, 0, 0, 100000000000, 100000000000, 1000000000, 0, 0, 10, 20, 30, 0, 0)
            Me.Draw = False
        End If
    End Sub

    Private Sub CreatePlanets(ByVal p00, ByVal p01, ByVal p10, ByVal p11, ByVal p20, ByVal p21, ByVal p30, ByVal p31, ByVal p40, ByVal p41, ByVal v00, ByVal v01, ByVal v10, ByVal v11, ByVal v20, ByVal v21, ByVal v30, ByVal v31, ByVal v40, ByVal v41, ByVal m0, ByVal m1, ByVal m2, ByVal m3, ByVal m4, ByVal r0, ByVal r1, ByVal r2, ByVal r3, ByVal r4)
        amt = 3
        dt = 3
        Crash = False
        p(0, 0, 0) = p00
        p(0, 1, 0) = p01
        p(1, 0, 0) = p10
        p(1, 1, 0) = p11
        p(2, 0, 0) = p20
        p(2, 1, 0) = p21
        p(3, 0, 0) = p30
        p(3, 1, 0) = p31
        p(4, 0, 0) = p40
        p(4, 1, 0) = p41
        v(0, 0) = v00
        v(0, 1) = v01
        v(1, 0) = v10
        v(1, 1) = v11
        v(2, 0) = v20
        v(2, 1) = v21
        v(3, 0) = v30
        v(3, 1) = v31
        v(4, 0) = v40
        v(4, 1) = v41
        m(0) = m0
        m(1) = m1
        m(2) = m2
        m(3) = m3
        m(4) = m4
        rad(0) = r0
        rad(1) = r1
        rad(2) = r2
        rad(3) = r3
        rad(4) = r4

        For time = 0 To 1000
            For a = 0 To amt - 1
                For b = 0 To 1
                    For c = 0 To amt - 2
                        acctemp = acctemp + G * (m((a + c + 1) Mod amt) * (p((a + c + 1) Mod amt, b, 0) - p(a, b, 0))) / ((p(a, 0, 0) - p((a + c + 1) Mod amt, 0, 0)) ^ 2 + (p(a, 1, 0) - p((a + c + 1) Mod amt, 1, 0)) ^ 2) ^ 1.5
                        If (((p(a, 0, 0) - p((a + c + 1) Mod amt, 0, 0)) ^ 2 + (p(a, 1, 0) - p((a + c + 1) Mod amt, 1, 0)) ^ 2) ^ 0.5 < (rad(a) + rad((a + c + 1) Mod amt))) Then
                            Crash = True
                        End If
                        gr.FillEllipse(Brushes.Black, CInt(p(a, 0, 0)), CInt(p(a, 1, 0)), CInt(rad(a)) * 2, CInt(rad(a) * 2))
                        gr.FillEllipse(Brushes.Black, CInt(p((a + c + 1) Mod amt, 0, 0)), CInt(p((a + c + 1) Mod amt, 1, 0)), CInt(rad((a + c + 1) Mod amt)) * 2, CInt(rad((a + c + 1) Mod amt)) * 2)
                        If Crash = True Then
                            p(a, 0, 1) = (p(a, 0, 1) * m(a) + p((a + c + 1) Mod amt, 0, 1) * m((a + c + 1) Mod amt)) / (m(a) + m((a + c + 1) Mod amt))
                            p(a, 1, 1) = (p(a, 1, 1) * m(a) + p((a + c + 1) Mod amt, 1, 1) * m((a + c + 1) Mod amt)) / (m(a) + m((a + c + 1) Mod amt))
                            v(a, 0) = (v(a, 0) * m(a) + v((a + c + 1) Mod amt, 0) * m((a + c + 1) Mod amt)) / (m(a) + m((a + c + 1) Mod amt))
                            v(a, 1) = (v(a, 1) * m(a) + v((a + c + 1) Mod amt, 1) * m((a + c + 1) Mod amt)) / (m(a) + m((a + c + 1) Mod amt))
                            m(a) = m(a) + m((a + c + 1) Mod amt)
                            m((a + c + 1) Mod amt) = 0
                            rad(a) = (rad(a) ^ 3 + rad((a + c + 1) Mod amt) ^ 3) ^ (1 / 3)
                            rad((a + c + 1) Mod amt) = 0
                        End If
                        Crash = False
                    Next
                    p(a, b, 1) = p(a, b, 0) + v(a, b) * dt + 0.5 * acctemp * dt ^ 2
                    v(a, b) = v(a, b) + acctemp * dt
                    acctemp = 0
                Next
            Next
            For d = 0 To amt - 1
                p(d, 0, 0) = p(d, 0, 1)
                p(d, 1, 0) = p(d, 1, 1)
                For wait = 0 To 100
                    gr.FillEllipse(Brushes.Red, CInt(p(d, 0, 0)), CInt(p(d, 1, 0)), CInt(rad(d)) * 2, CInt(rad(d)) * 2)
                Next
            Next
        Next
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Draw = True
        Me.Refresh()
    End Sub
End Class