Laura -
You might suspect the magnesium you are taking for the D. 3 x 250 mg a day can be a lot, depending on the dosage in the pills. It would give me D. I can only take 1. 500 x 2 is the dosage for laxative.
As for dairy, suspect lactose first. Most adults, like me, become lactose intolerant as we age. Try lactose-free milk for a week or two, while avoiding all cheese, yogurt, ice cream, etc. There are a couple of other proteins in milk you can try if this does not help. You can get whey protein in grocery stores and try that one as a food challenge if the lactose-free milk is indigestible for you.
And as Red_34 said, keep a food log/diary!