On Gracefully Labeling Trees
  In this paper, we propose an algorithm to generate all possible graceful graphs (including trees) containing n vertices as lattice paths in a certain triangular lattice defined below. This lattice that corresponds to graphs containing n vertices is called an n-lattice and is made up of certain rows of vertex pairs (i, j). Each row of this n-lattice is made up of those vertex-pairs, say (i, j), for which the difference|i - j| is the same for every vertex-pair belonging to that row, and where i, j belongs to set {1, 2, ..., n}. The first row of this n-lattice contains (n - 1) vertex pairs, (i, i + 1), i = 1, 2, ..., (n - 1). The second row of this n-lattice contains (n - 2) vertex pairs, (i, i + 2), i = 1, 2, ..., (n - 2). In this way, one goes down to the last row of this lattice which contains only one vertex-pair, (1, n). A lattice path is one made up of (n - 1) vertex pairs such that every row of the triangular lattice contributes exactly one vertex pair to this lattice path. We obtain all possible lattice paths without omission or repetition by generating them in a systematic way, in a well-defined lexicographic order. The collection of all such lattice paths forms all possible graceful graphs. We will note various observations related to these lattice paths. For example, the lattice paths appear in symmetric pairs, i.e. for each lattice path there exists a corresponding unique lattice path which is the mirror image of this lattice path taken in the line of symmetry passing vertically and centrally through the lattice, each lattice path and its corresponding mirror image represent isomorphic graceful graphs. The main result of this paper is the affirmative settlement of the well-known graceful tree conjecture. 
Dhananjay P. Mehendale