Using some startups api aside (spirit of the competition and all that), anyone interested in completing this should pick up the Springer book Recommender Systems Handbook, it's a very good place to start.
Depending on the size of the Facebook dataset, you will need either a graph library like networkx or a graph database (there are many).
You should probably use python because, let's face it, nothing else will have as many opensource libraries, be as fast, and as accessible from C as python is (use cython for painless compiled code and to link to other C libraries).
Don't use recursion unless your language is specifically built for it. Stay away from ILP graph traversal unless you really know what you are doing.
If you are using some sort of context token/vector similarity approach, be sure to know that the number of tokens you are going to need will be huge, and furthermore you will likely need some hard coded rule sets for low follower/following users.
Try to introduce a time-based decay factor or something similar, and of course take advantage of degrees of "closeness" if there are repeated interactions between nodes.
One last thing: if your approach uses some sort of map reduce solution, it might be better for real world applications, but it will significantly slow down your progress. Just load a box up with RAM and use fast algorithms.
Best of luck to all you out there!