Why the Picard group of a K3 surface is torsion-free Let $X$ be a K3 surface. I want to prove that $Pic(X)\simeq H^1(X,\mathcal{O}^*_X)$ is torsion-free. 
From  D.Huybrechts' lectures on K3 surfaces I read that if $L$ is torsion then the Riemann-Roch formula would imply that $L$ is effective. But then if a section $s$ of $L$ has zeroes then $s^k\in H^0(X,L^k)$ has also zeroes, so no positive power of $L$ can be trivial.
What I am missing is how the Riemann-Roch theorem can imply that if $L$ is torsion then $L$ is effective?
 A: 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.
A: 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?
