steeprock,
I answered the first two questions using the Perl programming
languages to do brute force calculations of the answers, and included
a mathematical proof for the third. Perl is a great tool for quick
simulations; if you would like to learn more about it, please check
out the official Perl site at http://www.perl.org
1. Using the following Perl program:
#!/usr/bin/perl
$counter = 1;
$square_root = sqrt $counter;
$square_root_int = int $square_root;
while (($square_root == $square_root_int)  ($square_root 
$square_root_int < 0.0001)) {
$counter++;
$square_root = sqrt $counter;
$square_root_int = int($square_root);
}
print"Number: $counter\nSqrt : $square_root\n";
#end of code
I was able to detemine that the answer is 100000001. (The square root
of 100000001 is 10000.00005)
2. Using the following Perl program:
#!/usr/bin/perl
$counter = 0;
for ($counter=0;$counter<=2003;$counter++) {
if (int((2003+$counter)/($counter+1)) ==
(2003+$counter)/($counter+1)) {
print "$counter (" . (2003+$counter) . " / " . ($counter+1) . " =
" . (2003+$counter)/($counter+1) . ")\n";
}
}
#end of code
The answers for nonnegative integers n where 2003+n is a multiple of
n+1 were determined as follows:
0 (2003 / 1 = 2003)
1 (2004 / 2 = 1002)
6 (2009 / 7 = 287)
10 (2013 / 11 = 183)
12 (2015 / 13 = 155)
13 (2016 / 14 = 144)
21 (2024 / 22 = 92)
25 (2028 / 26 = 78)
76 (2079 / 77 = 27)
90 (2093 / 91 = 23)
142 (2145 / 143 = 15)
153 (2156 / 154 = 14)
181 (2184 / 182 = 12)
285 (2288 / 286 = 8)
1000 (3003 / 1001 = 3)
2001 (4004 / 2002 = 2)
3. First, for the case where n=c!, we see that f(c!) = c!+1 becomes
f(n)=n+1, so that part is trivial. What we need to do is prove
f(n)=n+1 where n<>c!, that is, where n cannot be represented by a
factoral. To do this, first we copy the other assumption we were
given for this problem:
f(ab) = f(a)f(b)  f(a)  f(b) + 2
Since this is given to be the case for all positive integers a and b,
let us choose a and b to be numbers that can be represented as
factorals of other numbers. So we will assume that a=x! and b=y!. We
can now substitute these values into our equation as follows:
f(ab) = f(x!)f(y!)  f(x!)  f(y!) + 2
Using f(c!)=c!+1, we can thus expand like this:
f(ab) = (x! + 1)(y! + 1)  (x! + 1)  (y! + 1) + 2
Calculate (x! + 1)(y! + 1) to get:
f(ab) = x!y! + y! + x! + 1  (x! + 1)  (y! + 1) + 2
Eliminating the remaining parentheses by multiplying out by 1 gives
us:
f(ab) = x!y! + y! + x! + 1  x!  1  y!  1 + 2
Collecting terms on the right side of the equation, x! and y! cancel
out and the numbers reduce to one, giving us:
f(ab) = x!y! + 1
Now we can replace x! with a and y! with b to give:
f(ab) = ab + 1
Because multiplying an integer by 1 returns the original integer, any
integer can be represented as the product of two other integers. So n
can be represented as the product of two integers a and b, and
replaced in the equation as such:
f(n) = n + 1.
Therefore, f(n) = n + 1 for all positive integers n. 
Clarification of Answer by
hailstormga
on
12 Feb 2003 13:52 PST
steeprock,
I would like to revisit the third part of this problem, after
consulting a bit with fellow GA Researcher mathtalk.
Consider the first assumption we are given in the third part of the
question, about a function f(n) that satisfies:
f(ab) = f(a)f(b)  f(a)  f(b) + 2
for all positive integers a,b.
If one considers h(n) = f(n)  1, the statement becomes simply:
h(ab) = h(a) h(b)
Moreover the second assumption we are given:
f(c!) = c! + 1 for all c > 10^10
can be rewritten:
h(c!) = c!
We are asked to prove f(n) = n + 1 for all (positive integers) n, or
what is equivalent, that h(n) = n. It is not enough to have on the
first assumption, because f(n) = 2 identically would satisfy that
condition. We need to work the second assumption into the proof
somehow.
First we establish h(1) = 1, like this:
For sufficiently large c, h(c!) = h(1 * c!) = h(1) h(c!). Since h(c!)
= c! is nonzero, it follows that h(1) = 1.
Now we go after h(n) for n > 1. In this case we can always find a
sufficiently large power n^k > 10^10 + 1, so that:
h((n^k)!) = h(n^k) * h((n^k  1)!)
(n^k)! = h(n^k) * (n^k  1)!
n^k = h(n^k) = h(n)^k
Now take the k'th root of both sides (which is a welldefined
operation is we restrict ourselves to the positive numbers) and we
have the desired result:
n = h(n) for any n > 1.
This also emphasizes the importance of thinking long and hard over
your proofs before submitting them as an answer.
