Pretty cool. Is it alright for one answer bubble to match another bubble?
For example 9x2 = 5? 5? 10? or 18?
If not, if I may suggest, in your algorithm, check if a number matches any other number in your bubbles. If matching, generate another number.