How to find coordinates of intersection of a line and a circle

Hello experts,

I have a circle plotted in x,y coordinates. The center is at (14,5) with a radius of 5.

I have a point (*) at (16,6). I need a formula to determine the x,y coordinates where
a line intersects the circle (at ? below) if drawn from the center of the circle through the point *.

The coordinates I gave are just an example, I need a formula to solve any center, radius and * point.

BTW: This is not a homework problem. If I had paid more attention in geometry though I would
proabably know how to do this. This is not really a Java problem but I didn't know the
best forum to post it in.

the equation is given on that page, which part is giving you problems?

0

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

...
/**
* Find the intersection of this circle with the line defined by point p1 & p2
public Point Intersect(Point p1, Point p2)
{
int dx=p2a.x-p1.x;
int dy=p2.y-p1.y;
int dr=Math.sqrt(dx*dx+dy*dy);
int D=p1.x*p2.y-p2.x*p1.y;
int discriminant=this.radius*this.radius*dr*dr-D*D;
if (discriminant<0)
return null; //No intersection;
else if (discriminant==0)
;//Tangant line there is only ONE intersection
else if (discriminant>0)
;//The line intersects at TWO points

//Compute intersection for ONE point (to compute intersection at OTHER point change + to a -)
int x=(D*dy+Math.sgn(dy)*dx*Math.sqrt(discriminant))/(dr*dr);
int y=(-D*dx+Math.abs(dy)*Math.sqrt(discriminant))/(dr*dr);
return new Point(x,y);
}