If you insist on believing that it is to do with input and output, then perhaps you should go and do a different problem. I repeat, your algorithm is at fault here, NOT the speed of reading input.
Perhaps you should reread what you actually wrote.. you removed printing output. And you still got TLE. If input/output is the problem, then you must believe scanning in 20 numbers takes several seconds?
Since your code gets TLE without printing any output, you've just proved your algorithm is at fault.
If I run your code on the sample input, I get the wrong answer. If I run it on the largest possible input, your problem thinks for several seconds (more than the time limit), then crashes, since in the largest possible case your loop
while(Divisors[Test] <= Root){
will never end (the last 'Divisors' element is <= the root, and the next one is 0, and you'll go out of bounds).
If I fix the latter problem in your code, and run it on a SINGLE test case of maximum size, it takes 13 seconds. And my computer is quite fast.
You still haven't implemented a proper sieve. I took your exact code, changed the sieve method to actually sieve rather than run through all numbers for all divisors, and it runs the largest test case in about 0.1 seconds.
If you still don't believe me, I can send you the corrected version of your code, though that means you would never have come up with a fast enough ALGORITHM yourself.
(In fact, I've submitted the fixed Sieve method to SPOJ, and all 10 cases were accepted with a total time of 0.19 seconds.)