Sorry to say, but this task is very very badly formulated.
First of all, any polygon is a curve. Therefore two strait segments - one from A to B and second one from B to C - fullfill the task demands. The task/assigment should be better defined - for example: draw a parabola. (But there is a simple question: there is only one parabola via 3 coplanar but not colinear points?) Anyway, there is the exactly one circle via 3 non-colinear points. So, as you see, the task is not well defined.
And there is no reason to force don't use built-in libs - esp. Mathematica, Matlab and Python+Numpy and Fortran+CERNLIB etc. are excellent BECAUSE THEY HAVE the support libs for the approximation/interpolation etc. Yep, you can program it in Brainfuck or PHP from the scratch... but it rather not very clever and wise.