I am trying to write a program which gives me the index of the first 1000-digit number in the Fibonacci sequence. I have set the data type as "Double" because I need to store the long numbers, however the output I get isn't right?

I have tried setting the "num" data type as "integer", "long" and even "int64", but all these just give me an overflow error after about 2 seconds. 

```
Dim num, prev, temp, index As Double
Sub Main()
    num = 1
    prev = 1
    temp = 1
    index = 1
    While Len(num) < 1000
        Console.WriteLine(num)
        temp = num
        num += prev
        prev = temp
        index += 1
    End While
Console.WriteLine(index) 
Console.ReadLine()
End Sub

```

I would expect the program to output the Fibonacci sequence until it finds the first 1000-digit number, and then it will output the index of it. However, I just get an output of loads of decimal numbers (to about 20 decimal points) and then it outputs 8. Forever.

I am truly stumped. Any ideas?