Thanks for the reply. I tried and strangely enough found it easier to select the primary key first and then find out the functional dependencies. But I think selecting the functional dependencies first may also be correct.
Why should one of those methods be correct and the other not? Either way you can achieve the same, correct result, so it is just a matter of which one works best for you isn't it?
OTOH, if this is an exam question, then the correct answer must be (b) I guess, since to select a valid primary key requires that you know something is functionally dependent on it. When you start by selecting the primary key you are really doing so based on an intuitive knowledge of functional dependencies - so in fact you did start with the FDs.