It'll take you a long time, generally longer than you'd probably be willing to play the game.
To get every balloon, you'll need 1240 diamonds.
Each and every Daily Challenge is 13 diamonds, so you'll get 364 out of those, at the end. Realistically though, limited by your Rank you'll probably only get about half of that because your pokemon are weaker than they should be.
There are about 30 free diamonds from the Market for playing with friends, 50 for streetpasses. On average, you'll get about 2-4 free diamonds every day through Spotpass and Streetpass bonuses, plus meeting them in game.
So you're still looking at needing to get about 978 diamonds if you want to get all the balloons. After all your "Bonus" diamond sources run out, you're stuck with a rate of 2-4 diamonds per day. That would take about 245 days if you were to get 4 every time.
tl;dr: Paying for at least *some* diamonds is realistically the only way you're going to stay interested in the game if you still want progression.