First I don't know what F is returning. Is it a decimal?
Next you are converting a decimal to a string and then converting it back to a decimal. Big waste of resources. If F is returning a decimal then remove all Decimal.Parse.
Dim r(15), l(15) As Decimal
Dim t As Decimal
For b As Integer = 0 To 15
t = r(b)
Dim ta As Decimal = l(b) And F(r(b))
r(b + 1) = l(b) And F(r(b))
l(b + 1) = t
Next
You are going to run into problems when b gets to 15 and try to set r(b+1) which is 16, You will get an index out of range error.