Filter difference equation and impulse response
Your difference equation is correct. I'm not sure why you worry about signs because the signs of the coefficients $a_n$ are just a matter of definition. Just choose $\tilde{a}_n=-a_n$ and you have coefficients with a positive sign.

The impulse response of the system can be determined in a straightforward manner by making a table with entries for $n$ and $y[n]=h[n]$ (with input $x[n]=\delta[n]$):

$$
\begin{array}{c|c}
n &amp; y[n]\\
\hline
0 &amp; 1\\
1 &amp; p\\
2 &amp; p^2\\
\vdots &amp; \vdots\\
N-1 &amp; p^{N-1}\\
N &amp; p^N-p^N=0\\
N+1 &amp; 0\\
\vdots &amp; \vdots
\end{array}
$$

Note that despite the recursion in the system, we have a finite impulse response (FIR), i.e., the system could also be realized without a recursion. The impulse response can be written as

$$h[n]=\begin{cases}p^n,&amp;0\le n &lt;N\\0,&amp;\text{otherwise}\end{cases}$$

or, equivalently, as

$$h[n]=p^n(u[n]-u[n-N])$$

where $u[n]$ is the discrete-time unit step function.