Line through Polygon
Ruby, 103 101 characters
m,b,*q=gets.scan(/[\d\.]+/).map{|t|t.to_f}
s=t=!0
q.each_slice(2){|x,y|x=x*m+b;s|=x&lt;=y;t|=x&gt;=y}
p s&amp;t

Input is on STDIN in the form specified in the question while output goes to STDOUT.