@MarkoRadoicic:
with a variing value like "round(100000*double(Time()));"
instead of "randomize" you will get variing random numbers
(as said by Thaddy)
Nevertheless, the results will vary around 516, not around 521.
The reason is that you try to calculate with 100x100 numbers but
actually have only 99x99.
This is caused by your while-loops:
Count := 1;
while Count < 100 do
begin
//something
Count := Count + 1;
end;
will run fo Count := 1 to Count := 99, thus 99 times
will run 100 times.