A drawing of a graph in the plane is called a thrackle if every pair of edges meets precisely once, either at a common vertex or at a proper crossing. Let t(n) denote the maximum number of edges that a thrackle of n vertices can have. According to a 40 years old conjecture of Conway, t(n) = n for every n >= 3. For any epsilon > 0, we give an algorithm terminating in e(O)((1/epsilon(2))ln(1/epsilon)) steps to decide whether t(n) <= (1 + epsilon)n for all n >= 3. Using this approach, we improve the best known upper bound, t(n) 3.(n 1), due to Cairns and Nikolayevsky, to 167/117n< 10428n. (C) 2011 Elsevier B.V. All rights reserved.