As we all know, it takes a fortune to buy a city from the other civs. But there is a way to get it more cheaply. Try to contact a weak civ, click on 'active' and renegotiate peace treaty. NOW you may trade for a city you like with much much less gold.
I managed to get some cities with vital resources. I even got one city with wonder for less than two thousand bucks.
I did this too when the computer put a city in a open spot in my empire, I was able to buy the city form the computer this way too.
I also was able to buy a city form Japan that had horses in it. Up to that time I had to trade for horses, and that city contained Japan's only source of horses. I got that city cheep too.
Yes I also was in a similar experience except it was against the persians. They had the only two oil fields in the game that I didnt control . I managed to buy the town for 2300 gold. Now I've turned and managed to sell the oil to 2 other civs for 45 gold / turn (1800 bucks.. almost regained all my expenses already!)