This was the only pattern I saw:
15, 18, 30, 39, 54, 69, 78, 90, 93 <-- starting
5 3 6 3 10 3 13 3 18 3 23 3 26 3 30 3 31 3 <-- factors (5*3 etc)
1 4 3 5 5 3 4 1 <-- difference between non-3
Now what jumped out at me was that they were multiples of 3. I just saw the differences between the factor of the other value (not the 3), that is what yields the bottom row.
The first blank spot indicates your starting point. My inclination is that is if this is the full sequence, then it will follow the pattern at the third line:
1, 4, 3, 5, 5, 3, 4, 1, , , 1, 4 ... and so forth
I am making an assumption here, and that is that the full sequence repeats, thats why there are two blank spots. It wouldnt make sense for it to play through once, and then bump one of the numbers in the sequence off only to display the rest.
So in response to your question:
the next two numbers would be 93 and 93. Followed by 96, 108 and 117.
15, 18, 30, 39, 54, 69, 78, 90, 93 93 93 96 108 117
5 3 6 3 10 3 13 3 18 3 23 3 26 3 30 3 31 3 31 3 31 3 32 3 36 3 39 3
1 4 3 5 5 3 4 1 '' '' 1 4 3 5 5 3 4 1
Of course, it is entirely possible that the blank does not repeat at the end, but once.
In that case, the answer is: 93, 96, 108, 117