Question: How to select two lines (not perpendicular) from a list?

I want to find a point has coordinates are integer numbers and write the equation of tangent line to a given circle,  knowing that, the points of tangent has also integer coordinates. For example, the circle has centre M(-1,-5) and radius R=5. I tried

restart:

with(geometry):

point(M,-1,-5):

R:=5:

eqS:=Equation(circle(S,(a-HorizontalCoord(M))^2 + (b-VerticalCoord(M))^2 -R^2=0,[a,b],'centername'=T)):

L:=[]:

for a from -50 to 50  do

for b from -50 to 50  do

if  a <>HorizontalCoord(M) and b<>VerticalCoord(M) and eqS then

L:=[op(L), [a,b]] fi;

od: od:

nops(L);

eqS:=Equation(circle(S,(x-HorizontalCoord(M))^2 + (y-VerticalCoord(M))^2 -R^2=0,[x,y],'centername'=T));

k:=[seq](sort(Equation(TangentLine(P, S, point(A, pt[])), [x,y])), pt in L):

seq([L[i],k[i]],i=1..nops(L));

Next,

> with(combinat):

d:=choose(k,2):

for i from 1 to nops(d) do  

seq([d[i],solve([op(1,d[i]),op(2,d[i])],[x,y])],i=1..nops(d));

end do;

If I want to the point of intersection of two lines which are not perpendicular line, for example

[[-3*x-4*y-48 = 0, 4*x+3*y-6 = 0], [[x = 24, y = -30]]]

How can I select?

 

 

Please Wait...