program save_data_ask_n real x(20001), y(20001) write(*,*)'How many points to write? (<=20001)' read(*,*)n dx = (6*2*3.1415 - 0)/(n-1) do i=1,n x(i)=(i-1)*dx y(i)=sin( x(i) ) end do open(unit=15,file='sin.dat') write(15,*)n do i=1,n write(15,*) x(i), y(i) end do close(15) write(*,*)'The file sin.dat has been wriiten.' end