$\vec{p}\times\vec{r}=\vec{q}+c\vec{p}$ and $\vec{p}.\vec{r}=2$.Find the vector $\vec{r}$ and the value of $c$.

Consider three vectors $\vec{p},\vec{q},\vec{r}$ such that
$\vec{p}=\hat{i}+\hat{j}+\hat{k};\vec{q}=\hat{i}-\hat{j}+\hat{k}$
$\vec{p}\times\vec{r}=\vec{q}+c\vec{p}$ and $\vec{p}.\vec{r}=2$.Find the vector $\vec{r}$ and the value of $c$.

My Attempt:
As $\vec{p}\times\vec{r}=\vec{q}+c\vec{p}$,so $\vec{r}$ must be in the perpendicular to both $\vec{p}$ and $\vec{q}$.So let $\vec{r}=\lambda( \vec{p}\times\vec{q})$
I calculated $\vec{r}=\lambda(2\hat{i}-2\hat{k})=2\lambda\hat{i}-2\lambda\hat{k}$
But $\vec{p}.\vec{r}$ comes out to be $0$ and not $2$,as given in one of the conditions.What is wrong in this approach?

My Second try:
As $\vec{p}$ and $\vec{q}$ are non-collinear vectors,So
Let $\vec{r}=x\vec{p}+y\vec{q}+z\vec{p}\times\vec{q}$
$\vec{r}=(x+y+2z)\hat{i}+(x-y)\hat{j}+(x+y-2z)\hat{k}$

• Try $(\vec{p} \times \vec{r}). \vec{r}$ and $(\vec{p} \times \vec{r}). \vec{p}$ and see the results . – Nizar Nov 16 '15 at 16:22
Looks pretty straightforward to me: $$\vec p=(1,1,1) , \vec q=(1,-1,1)$$ $$\vec p \times \vec r=\left[\begin{array}{ccc}1&1&1\\ r_{a}&r_{b}&r_{c} \end{array} \right]=(r_{c}-r_{b})\hat i+(r_{a}-r_{c})\hat j+(r_{b}-r_{a})\hat k$$ $$\vec q+c\vec p=(1+c,-1+c,1+c)$$ $$r_{c}-r_{b}=1+c ,r_{a}-r_{c}=-1+c,r_{b}-r_{a}=1+c$$ $$\vec r.\vec p= r_{a}+ r_{b}+r_{c}=2$$
Then you solve the above system which gives you $$\vec r=(0,2/3,4/3), c=-1/3$$