public static long TriangularPentagonalHexagonal()
        {
            var  h = 144;
            long hexagonal;

            do
            {
                hexagonal = TriPenHexNumbers.HexagonalNumber(h++);
            } while (!(TriPenHexNumbers.IsPentagonNumber(hexagonal) &&
                       TriPenHexNumbers.IsTriangleNumber(hexagonal)));

            return(hexagonal);
        }
        public static int NumTriangleWords()
        {
            var triangleNumbers = new List <int> {
                1
            };
            var numTriangleWords = 0;

            foreach (var word in _words)
            {
                var wordNumber = word.Select(w => _dictionary[w]).Sum();

                if (TriPenHexNumbers.IsTriangleNumber(wordNumber))
                {
                    numTriangleWords++;
                }
            }

            return(numTriangleWords);
        }