Snake

Description
Snake is a line-drawing logic puzzle where a single, non-intersecting line is drawn.

Rules
The objective is to draw a single, non-intersecting line, subject to the following rules:
 * 1) Locate a snake of unknown length in the grid, whose head and tail are given.
 * 2) The snake does not touch itself, even diagonally.
 * 3) Numbers outside the grid indicate the number of snake cells in that row/column.

Example
A standard 10x10 snake and its solution.