I've never owned a puppy but my first thought is intestinal parasites (worms). Have you taken a stool sample to the vet?