I am sorry that I don't have any good advice as I have not had this problem. I would call your vet and see what they say. Maybe they will tell you not to worry that he will eat when he is hungry or maybe there is some medical problem.
As for buying expensive food... Most pet stores will take the food back if the dog won't eat it. Call and ask them. They might also have some advice. Also I know that at my pet store (pet value) they sell small, one serving bags of several dog foods. Maybe that is what you should do from now on.
FYI - i am having trouble finding the right food for my puppy (10 months) as well.