Có tất cả bao nhiêu giá trị thực của tham số m...

Câu hỏi: Có tất cả bao nhiêu giá trị thực của tham số m để đường thẳng \(d:y = mx + 1\) cắt đồ thị \(\left( C \right):{x^3} - {x^2} + 1\) tại ba điểm \(A;B\left( {0;1} \right);C\) phân biệt sao cho tam giác AOC vuông tại \(O\left( {0;0} \right)\)?   

A. 0

B. 1

C. 3

D. 2