Primitive Roots of Unity Let z be a complex number. z is an nth primitive root of unity if for a certain positive integer n  and for any positive integer k &lt; n .
Challenge
Write a full program or function that, given a positive integer n as input, outputs all of the nth primitive roots of unity. You may output them in polar form (e^θi or e^iθ, argument should be a decimal with at least 2 decimal places) or rectangular form (a + bi or a similar form, real and imaginary parts should also be decimals), and they may be outputted in your language's list/array format or as a string with the numbers separated by spaces or newlines. Built-ins that calculate the nth roots of unity or the nth primitive roots of unity are not allowed.
This is code-golf, so shortest code in bytes wins.
Sample Inputs and Outputs
6 -&gt; e^1.05i, e^-1.05i # polar form
3 -&gt; e^2.094395i, e^-2.094395i # any number of decimal places is OK as long as there are more than 2
8 -&gt; 0.707 + 0.707i, 0.707 - 0.707i, -0.707 + 0.707i, -0.707 - 0.707i # rectangular form
1 -&gt; 1 + 0i # this is OK
1 -&gt; 1 # this is also OK
4 -&gt; 0 + i, 0 - i # this is OK
4 -&gt; i, -i # this is also OK
Jelly, 11 9 bytes
Thanks to @Dennis for -2 bytes!
Rg=1O÷H-*

I wanted to generate the numbers coprime to N by folding set difference over all of the roots of unity from 1 to N, but I couldn't figure out how so I used @Dennis's method.
Rg=1O÷H-*         Monadic chain:          6
R                 Range                   [1,2,3,4,5,6]
 g                Hook gcds with range    [1,2,3,2,1,6]
  =1              [gcds equal to one]     [1,0,0,0,1,0]
    O             Replicate indices       [1,5]
     ÷H           Divide by half of N     [1/3,5/3]
       -          Numeric literal: - by itself is -1.
        *         Take -1 to those powers [cis π/3,cis 5π/3]

Try it here. Valid in this version of Jelly, but may not be in versions after February 1, 2016.