Yeah, that would be fine expect the program needs to write all of the intermediate values do the screen. I've found the answer though, adding
if (mod(i,100) .eq. 0) then
write(unit=7,fmt="(3e15.7)") variable1, v2, v3
end if
at the end of the DO loop, where 7 is an output file.