Sunday, November 15, 2009

Circles

You have 2009 concentric circles, with radii 1 to 2009.
a point is taken on the largest circle (the one with radius 2009)
from here, tangents are drawn to all the other 2008 circles.

How many of these tangents have a length that is a whole number?

Labels:

13 Comments:

Blogger Miguel Tato said...

This post has been removed by the author.

November 15, 2009 2:28 AM  
Blogger Miguel Tato said...

Two tangents have integer lengths, with the circles radii 441 and 1960

November 15, 2009 2:32 AM  
Blogger Miguel Tato said...

Explanation:

This problem is equivalent to
"find x between 1 and 2008 such that sqtr(2009^2-x^2) is integer". This is easy to see if you make a sketch.

The solutions are x=441 or x=1960

November 15, 2009 2:35 AM  
Blogger Ragknot said...

I am not sure I understand. But I think it says to construct a tangent from a point on circle 2009 to each circle from 1 to 2008

144 to 2009 is 1960.0000
1960 to 2009 is 441.0000

That would be two tangents that have no fraction of a unit.

November 15, 2009 3:26 AM  
Anonymous Anonymous said...

Given a large circle of radius Rb and a smaller circle of radius Rs...

A tangent line will be 90 degrees from a line drawn from the centre of the circle to it's radius. This line is obviously of a length = to the radius of the smaller circle (Rs).

That tangent line will intersect the larger circle at a point, which will be a distance of Rb away from the common centre of the circles.

The distance from the tangent point to the intersection of the larger circle is L.

This structure forms a 90 degree triangle, Rb, Rs, L. Where L is the hypotenuse.

L^2=Rb^2+Rs^2

L^2=2009^2+Rs^2

Then using brute force search for Rs where L is an integer.

L is an integer for only two circles, Rs=441 for L=1960, and Rs=1960 for L=441

Cam

November 15, 2009 11:43 AM  
Blogger Ragknot said...

Very short and simple program

Sub TangLen()
Rb2 = 2009 ^ 2 'Radius of the big circle, squared, Rb will be the hypotenuse of a right triangle
For LR = 1 To 2008 'Radius of the little circle
TL = Sqr(Rb2 - LR ^ 2) 'Tangent Length
If TL = Int(TL) Then 'Check for a whole number
Debug.Print LR; TL 'Print solution
End If
Next LR
End Sub

November 15, 2009 3:32 PM  
Anonymous Anonymous said...

Ragknot,

I employed a program using the same brute force technique i.e. using a FOR, NEXT loop checking all integers from 1 to 2008.

I couldn't think of a better way to find the solutions, as the solution doesn't seem to converge. Interested if someone can come up with a more efficient technique. i.e. useful for n >1E50

Cam

November 15, 2009 3:44 PM  
Blogger Ragknot said...

There's no converge for "looking" for a whole number".

If you plot radius vs tangent, you will get quarter circle. (x = radius of small circle and y = tangent length)

November 15, 2009 4:45 PM  
Anonymous Anonymous said...

sprinkles? pie? tv land?

November 15, 2009 5:50 PM  
Blogger Ragknot said...

Cam,
The tangent length is NOT the hypotenuse. So these are wrong.
L^2=Rb^2+Rs^2
L^2=2009^2+Rs^2


The hypotenuse is the radius of the circle with the 2009 radius.
So
Rb^2=L^2+Rs^2
L^2=Rb^2-Rs^2
L=sqr(Rb^2-Rs^2)

November 15, 2009 6:46 PM  
Anonymous Anonymous said...

Ragknot,

My apologies.

You are correct. Very sloppy on my part. I don't know why I wrote it up here that way, since the sketch I made up and the calculation I had put into the program was right. Can I blame a "brain fart" on the dog ?


Anyhow,
"Where L is the hypotenuse.
L^2=Rb^2+Rs^2
L^2=2009^2+Rs^2"

should be,

"Where Rb =hypotenuse
Rb^2= L^2 + Rs^2
2009^2= L^2 + Rs^2"

my little sketch had Rs on the x axis and L going vertical from the tangent point on the smaller circle, (obviously the angle would change for each circle,given a fixed point on the larger circle, however the dimensions would be maintained, as it would merely be a rotation about the common centre).


Cam

November 15, 2009 10:36 PM  
Blogger Ragknot said...

Dear Cam,

LOL, I knew you had a posting error. Those equations wouldn't have given you the answers you had correct.

After I solved the problem I just had to draw it up to put on my blog.

What kind of environment do you program in? I've never programmed in Mircosoft Word before, but I did that short program in Word just because I want to try it out.

Usually I used Excel or Access, because I want to make a table or query.

November 15, 2009 11:56 PM  
Anonymous Anonymous said...

Ragknot,

For quick little programs, I just make a Visual Basic macro from Excel.

Cam

November 17, 2009 12:54 PM  

Post a Comment

Links to this post:

Create a Link

<< Home