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?