Why the Picard group of a K3 surface is torsion-free
Solution 1:
If $L$ is torsion, then $L^k=O_X$ (tensor power). Since $X$ is K3 and because the first chern class of the trivial bundle vanishes, we have $c_1(X)=0$. Furthermore, since $X$ is regular, we get $h^1(O_X)=0$. Thus, $\chi(O_X)=2$.
Now the RRT says $$\chi(L)=\chi(O_X) + \tfrac 12 c_1(L)^2$$ Thus, $\chi(O_X)=\chi(L^k)=\chi(O_X)+\tfrac 12 c_1(L^k)^2$, so $c_1(L^k)^2=0$. By general chern polynomial lore, $c_1(L^k)=k\cdot c_1(L)$, so $c_1(L)^2=0$. But this means that $$h^0(L)-h^1(L)+h^2(L)=\chi(L) = \chi(O_X) = 2.$$ By Serre Duality, you have $H^2(X,L)\cong H^0(X,L^\ast)^\ast$. If $H^0(X,L^\ast)=H^0(X,L^{k-1})$ is nontrivial and $L\ne O_X$, then we'd be done since $H^0(X,L)$ would have to be non-trivial. Therefore, we may assume $h^2(L)=0$.
Putting this all together we get $h^0(L)=2+h^1(L)> 0$ as required.
Solution 2:
Here are some comments:
You want to show that $h^0(L) >0$, I believe. Riemann-Roch gives $\chi(L) = \chi(0)$. In fact, $(L,D) =0$ for all divisors $D$ on $X$. To see this, note that $L^{\otimes n } = \mathcal{O}_X$ for some $n>0$. Thus, $n(L,D) = (L^{\otimes n},D) = (\mathcal{O}_X,D) =0$.
Now, it should follow from some standard K3 surfaces theory that $h^0(L) >0$. In fact, it equals $\chi(0) + h^1(L) -h^2(L)$. Maybe, you can show that $h^2(L)$ is zero if $L$ is torsion?