I got stuck in solving this question. Can you help me?

Find a positive integer n such that phi(n) = phi (n+1) = phi (n+2).

Printable View

- September 4th 2006, 12:16 PMbeta12phi(n) = phi (n+1) = phi (n+2)
I got stuck in solving this question. Can you help me?

Find a positive integer n such that phi(n) = phi (n+1) = phi (n+2). - September 4th 2006, 01:02 PMCaptainBlackQuote:

Originally Posted by**beta12**

just before this was set?

RonL - September 4th 2006, 01:03 PMThePerfectHacker
I do not think you can solve this problem simply.

I assume it should be solved by a table. - September 4th 2006, 01:08 PMCaptainBlackQuote:

Originally Posted by**ThePerfectHacker**

RonL - September 4th 2006, 04:54 PMThePerfectHacker
Supprisingly this number is the my password :eek:

5186 - September 4th 2006, 08:59 PMbeta12phi (5186)
Hi perfect hacker,

phi ( 5186) is just fited into my problem. How do you come up with this answer. Could you please teach me? Thank you very much. - September 4th 2006, 09:44 PMCaptainBlackQuote:

Originally Posted by**ThePerfectHacker**

RonL - September 5th 2006, 05:26 AMCaptainBlackQuote:

Originally Posted by**beta12**

1. Google for Euler Totient function and look through the hits.

2. Write some code to conduct a search:

Define the EulerTotient function

Code:

function EulerTotient(m)

##

## Euler Totient function using the formula from

## Hardy and Wright 5th Ed, p53.

##

## CB 2006

##

ff=factor1(m);..find prime factors and multiplicities

ff=ff(:,1); ..extract the distinct prime factors

ll=length(ff);

prd=m;

..this next bit is for the benefit of causual readers

..the vectorised method is prd=prd*prod(1-1/ff');

for idx=1 to ll

prd=prd*(1-1/ff(idx));

end ..for

rv=round(prd,0);

return rv

endfunction

Code:`>`

>.. load the EulerTotient definition

>

>load "D:\user\temp\EulerTotient.e";

>

>.. test it

>

>EulerTotient(7^2)

42

>

>.. set up a search between lo and hi

>

>function search(lo,hi)

$ rv=[];

$ lst=EulerTotient(lo);

$ for idx=lo+1 to hi

$ nxt=EulerTotient(idx);

$ if nxt==lst

$ nxtnxt=EulerTotient(idx+1);

$ if nxtnxt==nxt

$ rv=rv|idx-1;

$ endif

$ endif

$ lst=nxt;

$ end ..for

$

$ return rv

$endfunction

>

>.. run the search and time it

>

>t=time;search(10,10000),time-t

5186

6.031

>

RonL - September 5th 2006, 06:42 AMThePerfectHacker
3.Look up in your Number Theory textbook and this problem appears. It does not ask to solve it, rather it asks to confirm it wokrs for this number.

I do not think there is a simple way to solve this problem. I have tried to find a neccesarilly and sufficient condition for, .

If, then,

.

With, since, .

Thus, you have,

You can cancel the q's and p's but that brings you nowhere. - September 5th 2006, 06:51 AMbeta12thks
I see.

thks Perfect Hacker and Captain Black. - September 5th 2006, 07:24 AMCaptainBlackQuote:

Originally Posted by**ThePerfectHacker**

the general solution of this problem is an open question.

RonL - September 5th 2006, 08:48 AMThePerfectHackerQuote:

Originally Posted by**CaptainBlack**