Ne znam da li pomazem, ali evo mog nacina:
Naka je centar elipsoida

Jednacina tog tvog elipsoida je sad:

Neka je prava data izmedju dve tacke

i

i u parametarskom obliku, jednacina glasi:

gde je t parametar izmedju 0 i 1. Ti ovaj nacin mozes da modifikujes u tvoj nacin (preko pravca), a mozes, posto ti ocigledno treba programski, da uzmes velike vrednosti tacke B.
Zamenom jednacine prave u jednacinu elipsoida, dobijes kvadratnu jednacinu po t, i da sad ne pisem sve, dobija se:

gde su a,b i c konstante kvadratne jednacine
(Proveri ti ovo jos jednom!)
E, sad, ukoliko je pocetna tacka prave unutar elipsoida (proveri da li je <1), sigurno ce ga seci i to jednom (poluprava). Koje resenje od ova dva ces uzeti je na tebi (moras nekako ispitati pravac, u zavisnosti koji od ovih gore nacina za predstavljanje prave koristis). Ukoliko je tacka napolju (opet zamena

u jednacinu elipse i provera >1), trebalo bi, ukoliko nije tangenta, da opet sece dva puta (pretpostavljam da ovog puta uzimas u obzir oba resenja), ukoliko uopste sece. Znaci, samo ispitujes

i racunas t iz kvadratne, simple as that (ukoliko sam pogodio sta trazis)