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